コード例 #1
0
 internal string GetSelectorXPath(string prefix, string targetNamespace)
 {
     if (this.Namespace == targetNamespace)
     {
         return(CremaSchema.GenerateXPath(prefix, this.Name));
     }
     if (this.Parent != null)
     {
         return(CremaSchema.GenerateXPath(prefix, this.Parent.GetXmlName(targetNamespace), this.TableName));
     }
     else if (this.TemplateNamespace == string.Empty)
     {
         return(CremaSchema.GenerateXPath(prefix, this.TableName));
     }
     return(CremaSchema.GenerateXPath(prefix, this.GetXmlName(targetNamespace)));
 }
コード例 #2
0
        private DiffDataTable FindSource(DataGridContext gridContext)
        {
            if (gridContext.ParentDataGridContext != null)
            {
                var relationName = gridContext.SourceDetailConfiguration.RelationName;
                var childName    = CremaSchema.GetChildNameFromRelationName(relationName);

                for (var i = 0; i < this.Source.Childs.Length; i++)
                {
                    if (this.Source.Childs[i].SourceItem1.TableName == childName)
                    {
                        return(this.Source.Childs[i]);
                    }
                }
                throw new NotImplementedException();
            }
            return(this.Source);
        }
コード例 #3
0
        private void DataGridControl_ItemsSourceChangeCompleted(object sender, EventArgs e)
        {
            if (this.Source == null)
            {
                return;
            }

            foreach (var item in this.Source.Columns)
            {
                var column = this.dataGridControl.Columns[item.ColumnName];
                if (column == null)
                {
                    continue;
                }

                this.InitializeColumn(item, column);
            }
#if DEBUG
            if (this.dataGridControl.DetailConfigurations.Any() == true)
            {
                this.dataGridControl.Columns.Add(new Column()
                {
                    FieldName = CremaSchema.__RelationID__, ReadOnly = true,
                });
            }
#endif

            foreach (var item in this.dataGridControl.DetailConfigurations)
            {
                var childName = CremaSchema.GetChildNameFromRelationName(item.RelationName);
                item.Title         = childName;
                item.TitleTemplate = this.FindResource("DetailConfiguration_Title_Template") as DataTemplate;
                var childTable = this.Source.Childs[childName];
                this.FillColumns(item, childTable);
                SetReference(item, childTable);
            }

            var index = 0;
            this.dataGridControl.Columns[CremaSchema.Index].VisiblePosition = index++;
#if DEBUG
            if (this.dataGridControl.DetailConfigurations.Any() == true)
            {
                this.dataGridControl.Columns[CremaSchema.__RelationID__].VisiblePosition = index++;
            }
#endif
            this.dataGridControl.Columns[CremaSchema.Tags].VisiblePosition   = index++;
            this.dataGridControl.Columns[CremaSchema.Enable].VisiblePosition = index++;

            foreach (var item in this.Source.Columns)
            {
                var column = this.dataGridControl.Columns[item.ColumnName];
                if (column == null)
                {
                    continue;
                }
                column.VisiblePosition = index++;
            }
            this.dataGridControl.Columns[CremaSchema.Modifier].VisiblePosition         = index++;
            this.dataGridControl.Columns[CremaSchema.ModifiedDateTime].VisiblePosition = index++;
            this.dataGridControl.Columns[CremaSchema.Creator].VisiblePosition          = index++;
            this.dataGridControl.Columns[CremaSchema.CreatedDateTime].VisiblePosition  = index++;

            if (this.view != null)
            {
                var firstColumnIndex = FirstPrimaryKeyColumnIndex(this.dataGridControl.VisibleColumns, this.Source.PrimaryKey);
                if (firstColumnIndex >= 0)
                {
                    this.view.FixedColumnCount = firstColumnIndex + 1;
                }
            }

            this.dataGridControl.PropertyChanged -= DataGridControl_PropertyChanged;
            this.dataGridControl.PropertyChanged += DataGridControl_PropertyChanged;
            this.dataGridControl.LayoutUpdated   += DataGridControl_LayoutUpdated;
        }