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))); }
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); }
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; }