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));
            }
        }
Example #2
0
        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));
        }
Example #3
0
        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;
            }
        }