protected void BuildDataSetStructure() { BuildDataSet(); if (BillType == Template.BillType.Bill || BillType == Template.BillType.Master) { DataTable masterTable = this.DataSet.Tables[0]; //DataSourceHelper.AddAttachmentSrcColumn(masterTable); if (!masterTable.ExtendedProperties.ContainsKey(TableProperty.DBIndex)) { masterTable.ExtendedProperties.Add(TableProperty.DBIndex, new DBIndexCollection()); } DBIndexCollection dbIndexs = (DBIndexCollection)masterTable.ExtendedProperties[TableProperty.DBIndex]; dbIndexs.Add(new DBIndex(string.Format("{0}_ID_IDX", masterTable.TableName.ToUpper()), new DBIndexFieldCollection() { new DBIndexField("INTERNALID") }, true)); for (int i = 1; i < this.DataSet.Tables.Count; i++) { DataTable table = this.DataSet.Tables[i]; if (table.ExtendedProperties.ContainsKey(TableProperty.UsingAttachment)) { if (Convert.ToBoolean(table.ExtendedProperties[TableProperty.UsingAttachment])) { DataSourceHelper.AddAttachmentSrcColumn(table); } } // 自动构建行项审核需要的数据列 if (table.ExtendedProperties.ContainsKey(TableProperty.UsingApproveRow)) { if (Convert.ToBoolean(table.ExtendedProperties[TableProperty.UsingApproveRow])) { DataSourceHelper.AddApproveRowFixColumn(table); } } } try { if (this.FuncPermission.UseSynchroData) { //如果启用数据同步功能,则添加同步到的目标站点的虚拟子表 //if (this.DataSet.Tables.Contains(LibFuncPermission.SynchroDataSettingTableName) == false && LibTemplate.HasAxpLinkSite && LibTemplate.HasSyncDataTable) if (this.DataSet.Tables.Contains(LibFuncPermission.SynchroDataSettingTableName) == false) { DataTable dt = DataSourceHelper.AddSyncDataSettingTable(this.DataSet, LibFuncPermission.SynchroDataSettingTableName); dt.ExtendedProperties.Add(TableProperty.IsVirtual, true); //设定同步配置数据表为虚表 dt.ExtendedProperties.Add(TableProperty.AllowCopy, false); //设定同步配置数据表不可复制 dt = DataSourceHelper.AddSyncDataHistoryTable(this.DataSet, LibFuncPermission.SynchroDataHisTableName); dt.ExtendedProperties.Add(TableProperty.IsVirtual, true); //设定同步历史数据表为虚表 dt.ExtendedProperties.Add(TableProperty.AllowCopy, false); //设定同步历史数据表不可复制 } } } catch { } } }
protected override void BuildDataSet() { this.DataSet = new DataSet(); DataTable masterTable = new DataTable(masterTableName); DataSourceHelper.AddColumn(new DefineField(masterTable, "NEWSID", "消息代码", FieldSize.Size50)); DataSourceHelper.AddColumn(new DefineField(masterTable, "USERID", "用户账号", FieldSize.Size20)); DataSourceHelper.AddColumn(new DefineField(masterTable, "TITLE", "主题", FieldSize.Size200) { DataType = LibDataType.NText, ControlType = LibControlType.NText }); DataSourceHelper.AddColumn(new DefineField(masterTable, "MAINCONTENT", "主要内容", FieldSize.Size1000) { DataType = LibDataType.Binary, ControlType = LibControlType.NText }); DataSourceHelper.AddColumn(new DefineField(masterTable, "INFOID", "附带信息", FieldSize.Size100) { ReadOnly = true }); DataSourceHelper.AddColumn(new DefineField(masterTable, "CREATETIME", "时间") { DataType = LibDataType.Int64, ControlType = LibControlType.DateTime }); DataSourceHelper.AddColumn(new DefineField(masterTable, "PERSONID", "发送人", FieldSize.Size20) { ControlType = LibControlType.IdName, RelativeSource = new RelativeSourceCollection() { new RelativeSource("com.Person") { RelFields = new RelFieldCollection() { new RelField("PERSONNAME", LibDataType.NText, FieldSize.Size50, "发送人名称") } } } }); DataSourceHelper.AddColumn(new DefineField(masterTable, "ISREAD", "已读") { DataType = LibDataType.Boolean, ControlType = LibControlType.YesNo }); DBIndexCollection dbList = new DBIndexCollection(); dbList.Add(new DBIndex("NEWS_CREATETIME_IDX", new DBIndexFieldCollection() { new DBIndexField("CREATETIME") })); masterTable.ExtendedProperties.Add(TableProperty.DBIndex, dbList); masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["NEWSID"] }; this.DataSet.Tables.Add(masterTable); }