Column: Settings |
The column index. See BcfColumnIndex.
The column name is used as columns key in column-collections and in generated code. See:
The column summary.
The column type. Valid are all .net types except open generic types and static classes.
Caution |
---|
Use immutable types or treat instances as immutable. Changing instance values will not been recognized and may cause unexpected behavior. |
System.String
If checked null will be accepted as value.See:
If checked the column is (a part) of tables primary key. If using multiple columns as primary keys the column index defines the key order. See:
Specifies whether the values are managed by undo-redo feature. The setting does not affect Rollback. See:
C# value used as default value.
string.Empty
C# expression computing the value. Parameters have to be added in parameters grid (below column grid).
Column with Type: string one parameter with name strings.
string.Join("-", strings)
See:
Specifies how to compute values if asynchrony calculation is enabled. See:
Specifies columns BcfColumnShouldPersist property. When BCF-Editor generates the Data-Transfer-Objects (DTO) a property on Row-DTO-Interface will be added.
When BcfColumnShouldPersist is true, updating a columns cell will cause the BcfTransaction to renew BcfDataSetCurrentDataStateId.
See:
Specifies whether a property on row-class will be generated for the column value.
Specifies whether a property on row-view-class will be generated for the column value.
If true the row and row-view properties are generated without setter. This does NOT mean the value can not be changed. All cell values can be changed (at least temporary) using SetValueT.
Number of parameters using this column as source.
Tables column-property name.
True if "Column Property Name" is default (from columnname and Project/DataSet/Column Property Name Format).
Convert value function. Used when values are assiged untyped e.g. SetValueObject.
public delegate bool BcfConvert<T>(BcfColumn<T> column, object proposedValue, out T convertedValue);
// enter in BCF-Editor: Util.Convert // required in referenced project: public class Util { public static bool Convert<T>(BcfColumn<T> column, object proposedValue, out T convertedValue) { try { convertedValue = (T)Convert.ChangeType(proposedValue, typeof(T)); return true; } catch(Exception) { convertedValue = default(T); return false; } } }
Format value action. Used every time before a value is stored in a cell. Frequently used to truncate strings and to round decimals.
public delegate T BcfFormat<T>(BcfColumn<T> column, T proposedValue);
// truncate string (column, proposedValue) => proposedValue?.SubString(0, 50)
Trigger action. Used to intercept setting a value.
public delegate void BcfTrigger<T>(BcfCell<T> cell, T proposedValue, BcfUpdateCurrentCell update); public delegate void BcfUpdateCurrentCell(bool force = false);
// redirect value to 'OtherColumn' of same type (cell, value, updateCell) => { row.SetValue<TColumnValue>("OtherColumn", value); updateCell(); }
Discard value action. Performs cleanup on values when going out of (its datasets) scope.
public delegate void BcfDiscard<T>(BcfColumn<T> column, T value);
(column, value) => value.Dispose()
Value constraint function returning false to reject a value.
public delegate bool BcfValueConstraint<T>(BcfColumn<T> column, T proposedValue);
// allow values > 100 on int column (column, value) => value > 100
EqualityComparer to compare instances.
StringComparer.InvariantCultureIgnoreCase
Sequence creating default values.
BcfSequence.FromFunc(Guid.NewGuid)
new BcfIntSequence()
One additional column per defined column-option-property. See Column Option Properties: Commands and Column Option Properties: Settings. BCF-Editor generated code sets the properties on BcfColumnSetupT, TOptionsOptions and BcfColumnT, TOptionsOptions.