/// <summary></summary> public override void EndInit() { // update the relation if (parentRelationName != null) { var parentTable = Table.DataSet.FindTable(parentTableName); if (parentTable == null) { throw new ArgumentException($"Table {parentTableName} for relation {parentRelationName} not found."); } parentTable.AddRelation(parentRelationName, GetClientRelationFromServerRelation(parentType), parentTable.Columns[parentColumnName, true], this); } // resolve the correct field var application = ((PpsDataSetServerDefinition)Table.DataSet).Application; fieldDescription = application.GetFieldDescription(fieldName, true); // update the meta information foreach (var c in fieldDescription.Attributes) { if (!metaInfo.ContainsKey(c.Name)) { metaInfo.Update(c.Name, c.Type, c.Value); } } base.EndInit(); } // proc EndInit
private PpsDataColumnServerDefinition(PpsDataTableDefinition tableDefinition, PpsDataColumnServerDefinition clone) : base(tableDefinition, clone) { this.fieldName = clone.fieldName; this.metaInfo = new PpsDataColumnMetaCollectionServer(this, clone.metaInfo); this.fieldDescription = clone.fieldDescription; this.parentType = clone.parentType; this.parentRelationName = clone.parentRelationName; this.parentTableName = clone.parentTableName; this.parentColumnName = clone.parentColumnName; } // ctor