示例#1
0
        /// <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
示例#2
0
        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