示例#1
0
 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 { }
     }
 }
示例#2
0
        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);
        }