在Datagrid里添加参照列

在datagrid里添加全新的参照列
 class SOAbc : UFSoft.UBF.UI.Custom.ExtendedPartBase
    {
        StandardSOMainUIFormWebPart soWebPart;
        public override void AfterInit(UFSoft.UBF.UI.IView.IPart Part, EventArgs args)
        {
            base.AfterInit(Part, args);
            soWebPart = Part as StandardSOMainUIFormWebPart;
            IUFDataGrid myGrid = (IUFDataGrid)soWebPart.FindControl("DataGrid4");

            string field = "abc";
            string field_Code = field + "_Code";
            string field_Name = field + "_Name";
            string fieldGuid = Guid.NewGuid().ToString();
            CreateUIField(soWebPart.Model.SO_SOLines, field, "System.Int64");
            CreateUIField(soWebPart.Model.SO_SOLines, field_Code, "System.String");
            CreateUIField(soWebPart.Model.SO_SOLines, field_Name, "System.String");

            IUFDataGridColumn column;

            column = GridControlBuilder.GridColumnBuilder(myGrid, "abc", "ReferenceColumnModel", "", 0, soWebPart.Model.SO_SOLines.Fields[field]/*MCategory*/, field, false, true, true, false, false, false, 7, 100, "19.0", true, false, "", "", "", fieldGuid);

            //绑定参照ID
            GridControlBuilder.GridReferenceColumnBuilder((IUFFldReferenceColumn)column, ColumnTextAlign.Right, "Proj_ID", "Proj_Code", "Proj_Name", soWebPart.Model.SO_SOLines.Fields[field_Code]/*MCategory_Code*/, soWebPart.Model.SO_SOLines.Fields[field_Name]/*MCategory_Name*/, "2e07d219-5840-4e0b-9567-6cb2f7822392", false, true, 580, 408);
            ((IUFFldReferenceColumn)column).CtrlId = fieldGuid;
            ((IUFFldReferenceColumn)column).IsMultiOrg = false;

            column.Caption = "新增列";
            ((IUFFldReferenceColumn)column).ApplyRefRelations();

        }
        private void CreateUIField(IUIView uiView, string customFieldName, string entityFullName)
        {
            if (uiView.Fields.Contains(customFieldName) == false)
            {
                // 4:Num -- 十进制数
                //IUIField newfield = UIModelRuntimeFactory.CreateUIField(uiView, customFieldName, typeof(Decimal), true, "0", entityFullName, customFieldName, false, false, false);

                if (entityFullName.Equals("System.String"))
                {
                    IUIField newfield = UIModelRuntimeFactory.CreateUIField(uiView, customFieldName, typeof(String), true, "", entityFullName, customFieldName, false, false, false);
                    uiView.Fields.Add(newfield);
                }
                else if (entityFullName.Equals("System.Int64"))
                {
                    IUIField newfield = UIModelRuntimeFactory.CreateUIField(uiView, customFieldName, typeof(Int64), true, "", entityFullName, customFieldName, false, false, true);
                    uiView.Fields.Add(newfield);
                }

            }
        }
    }

 

 

原来已有一个ID为"Project"的列,把它个性化隐藏后,再添加一个列,新列仍然与原列后台的model对应

            IUFDataGrid myGrid = (IUFDataGrid)soWebPart.FindControl("DataGrid4");
            IUFDataGridColumn column;

            //ID为Project时,要选把原列隐藏,才能显示自己列
            column = GridControlBuilder.GridColumnBuilder(myGrid, "Project", "ReferenceColumnModel", "", 0, soWebPart.Model.SO_SOLines.FieldProject/*MCategory*/, "Project", false, true, true, false, false, true, 7, 100, "19.0", true, false, "", "", "", "1B8E42B9-373C-4e34-B4CF-8FF24598CF3B");

            //绑定参照ID
            GridControlBuilder.GridReferenceColumnBuilder((IUFFldReferenceColumn)column, ColumnTextAlign.Right, "Proj_ID", "Proj_Code", "Proj_Name", soWebPart.Model.SO_SOLines.FieldProject_Code/*MCategory_Code*/, soWebPart.Model.SO_SOLines.FieldProject_Name/*MCategory_Name*/, "2e07d219-5840-4e0b-9567-6cb2f7822392", false, true, 580, 408);
            ((IUFFldReferenceColumn)column).CtrlId = "1B8E42B9-373C-4e34-B4CF-8FF24598CF3B";
            ((IUFFldReferenceColumn)column).IsMultiOrg = false;

            column.Caption = "色 号";
            ((IUFFldReferenceColumn)column).ApplyRefRelations();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值