public DbDetailStatListSource(IBaseDbConfig config, IConfigCreator <TableResolver> mainResolver, ChildTableInfoConfig childInfoConfig) : base(childInfoConfig.Stat) { TkDebug.AssertArgumentNull(config, "config", null); TkDebug.AssertArgumentNull(mainResolver, "mainResolver", null); TkDebug.AssertArgumentNull(childInfoConfig, "childInfoConfig", null); SetConfig(config); fChildInfo = new ChildTableInfo(this, childInfoConfig); // 子列表不该占有主配置的数据权限 //if (config.DataRight != null) //{ // SupportData = config.SupportData; // DataRight = config.DataRight.CreateObject(fChildInfo.Resolver); //} // 子列表不该占有功能权限 FunctionType = FunctionRightType.None; OrderBy = fChildInfo.Relation.OrderBy; FilterSql = fChildInfo.Relation.FilterSql; MainResolver = fChildInfo.Resolver; fMasterResolver = mainResolver.CreateObject(this); if (childInfoConfig.Operators != null) { Operators = childInfoConfig.Operators.CreateObject(); } }
protected override void FillUpdateTables(TableResolver resolver, IInputData input, ChildTableInfo childInfo) { if (FillDetailData || childInfo == null) { base.FillUpdateTables(resolver, input, childInfo); } }
protected virtual void FillUpdateTables(TableResolver resolver, IInputData input, ChildTableInfo childInfo) { if (childInfo == null) { fMainRow = resolver.Query(input.QueryString); } else { childInfo.FillDetailTables(MainResolver); } }
protected BaseMultipleDbSource(IBaseDbConfig config) : base(config) { IMultipleResolverConfig multiple = config.Convert <IMultipleResolverConfig>(); if (multiple.ChildResolvers != null) { foreach (var item in multiple.ChildResolvers) { ChildTableInfo info = new ChildTableInfo(this, item); AddChildTable(info); } } }
public void AddChildTable(ChildTableInfo childTable) { TkDebug.AssertArgumentNull(childTable, "childTable", this); fChildTables.Add(childTable); }
protected override void FillUpdateTables(TableResolver resolver, IInputData input, ChildTableInfo childInfo) { if (childInfo == null) { DataSet postDataSet = input.PostObject.Convert <DataSet>(); resolver.Query(postDataSet); } else { childInfo.FillDetailTables(MainResolver); } }