private void InitializeColumn(CremaDataColumn dataColumn, ColumnBase column) { if (dataColumn.CremaType != null) { if (dataColumn.CremaType.IsFlag == true) { column.CellEditor = this.FindResource("CremaFlagTypeSelector") as CellEditor; } else { column.CellEditor = this.FindResource("CremaTypeSelector") as CellEditor; } SetCremaTypeMembers(column, dataColumn.CremaType.Members); } CremaDataTableItemControl.SetIsKey(column, dataColumn.IsKey); CremaDataTableItemControl.SetIsUnique(column, dataColumn.Unique); CremaDataTableItemControl.SetFieldType(column, dataColumn.DataType); CremaDataTableItemControl.SetTags(column, dataColumn.Tags); CremaDataTableItemControl.SetComment(column, dataColumn.Comment); CremaDataTableItemControl.SetReference(column, dataColumn); column.TitleTemplate = this.FindResource("Title_Template") as DataTemplate; if (dataColumn.DerivedTags.Color != null) { CremaDataTableItemControl.SetHasTagColor(column, true); column.SetValue(TextElement.ForegroundProperty, new BrushConverter().ConvertFrom(dataColumn.DerivedTags.Color)); } }
protected override void PrepareContainer(DataGridContext dataGridContext, object item) { base.PrepareContainer(dataGridContext, item); var columnItem = CremaDataTableItemControl.GetReference(this.ParentColumn); var diffState = columnItem != null?DiffUtility.GetDiffState(columnItem) : DiffState.Unchanged; this.SetValue(DiffStatePropertyKey, diffState); this.SetValue(IsDummyPropertyKey, this.FieldName.StartsWith(DiffUtility.DiffDummyKey)); }
private void InitializeDetail(DetailConfiguration detail) { var childTable = CremaDataTableItemControl.GetReference(detail) as CremaDataTable; var diffState = DiffUtility.GetDiffState(childTable); detail.Title = new DetailsDescriptor() { Title = childTable.TableName, DiffState = diffState, }; detail.TitleTemplate = this.FindResource("Diff_DetailConfiguration_Title_Template") as DataTemplate; foreach (var item in detail.Columns) { item.PropertyChanged += Column_PropertyChanged; } }