kyy
2025-11-11 d542759b01c952b0de92aa88aa854dfaac2c19c7
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -148,6 +148,76 @@
                : "linktoprevious_16x16") as Image;
            return image2;
        }
        /// <summary>
        /// 用户控件读取xml配置
        /// </summary>
        /// <param name="_formNamespace"></param>
        /// <param name="gvList"></param>
        /// <param name="gcMain"></param>
        public static void GetUcXmlConfig(string _formNamespace, List<DevExpress.XtraGrid.Views.Grid.GridView> gvList, GridControl gcMain)
        {
            JArray array = new JArray();
            var _obj = new
            {
                formPath = _formNamespace,
            };
            try
            {
                string strJson = UtilityHelper.HttpPost("", "Fm/GetModel", JsonConvert.SerializeObject(_obj));
                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                if (_rtn.rtnCode > 0)
                {
                    JObject _job = JObject.Parse(strJson);
                    foreach (var a in _job["rtnData"]["list"])
                    {
                        array.Add(a);
                    }
                    foreach (GridView gv in gvList)
                    {
                        JToken john = array.FirstOrDefault(t => t["controlId"].ToString().ToUpper() == gv.Name.ToString().Trim().ToUpper());
                        if (john != null)
                        {
                            string controlId = john["controlId"].ToString();
                            string controlXml = john["controlXml"].ToString();
                            byte[] byteArray = Encoding.UTF8.GetBytes(controlXml);
                            using (var stream = new MemoryStream(byteArray))
                            {
                                gv.RestoreLayoutFromStream(stream);
                            }
                        }
                    }
                    //设置查询条件beg
                    if (gcMain != null)
                    {
                        GridView gv1 = gcMain.MainView as GridView;
                        if (gv1 != null)
                        {
                            foreach (var a in _job["rtnData"]["list2"])
                            {
                                string _gvColName = a["gvColName"].ToString();
                                string _sqlField = a["sqlField"].ToString();
                                string _sqlFieldType = a["sqlFieldType"].ToString();
                                var column = gv1.Columns.Cast<DevExpress.XtraGrid.Columns.GridColumn>()
                                                .FirstOrDefault(c => c.Name == _gvColName);
                                if (column != null)
                                {
                                    column.Tag = _sqlField;
                                    column.UnboundExpression = _sqlFieldType;
                                }
                            }
                        }
                    }
                    //设置查询条件end
                }
                else
                    ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg);
            }
            catch (Exception ex)
            {
                ToolBox.MsgHelper.Warning("提示:" + ex.Message);
            }
        }
        /// <summary>
        ///     初始化一个表
@@ -1946,19 +2016,36 @@
                    column.Width = 500;
            }
        }
        public delegate void DelegateGetUserControlList();
        /// <summary>
        /// 设置选项卡
        /// </summary>
        /// <param name="gridView1"></param>
        /// <param name="xtraTabControl1"></param>
        /// <param name="pageBar1"></param>
        /// <param name="action"></param>
        /// <param name="page"></param>
        public static void SetTabParameter(GridView gridView1, DevExpress.XtraTab.XtraTabControl xtraTabControl1, UcPageBar pageBar1, DelegateGetModel action = null, DelegateGetList page = null, Label lbGuid = null)
        /// <param name="action">读取实体</param>
        /// <param name="page">读取列表</param>
        /// <param name="lbGuid"></param>
        /// <param name="barMenu"></param>
        /// <param name="ucLst">读取报表</param>
        public static void SetTabParameter(GridView gridView1, DevExpress.XtraTab.XtraTabControl xtraTabControl1, UcPageBar pageBar1, DelegateGetModel action = null, DelegateGetList page = null, Label lbGuid = null, UcToolBarMenu barMenu = null, DelegateGetUserControlList ucLst = null)
        {
            xtraTabControl1.SelectedPageChanged += (s, e) =>
            {
                if (pageBar1 != null && xtraTabControl1.SelectedTabPageIndex == 0)
                {
                    if (barMenu != null)
                        barMenu.SetAllButton(0);
                    page(pageBar1.CurrentPage);
                    int rowHandle = 0;
                    rowHandle = gridView1.LocateByValue(1, gridView1.Columns["guid"], lbGuid.Text);
                    if (rowHandle < 0)
                        rowHandle = 0;
                    gridView1.FocusedRowHandle = rowHandle;
                    return;
                }
                if (xtraTabControl1.SelectedTabPageIndex == 1)
                {
                    int _handle = gridView1.FocusedRowHandle;
@@ -1986,19 +2073,19 @@
                        return;
                    }
                    action(_guid);
                    return;
                }
                if (pageBar1 != null && xtraTabControl1.SelectedTabPageIndex == 0)
                if (barMenu != null && xtraTabControl1.SelectedTabPageIndex == 2)
                {
                    page(pageBar1.CurrentPage);
                    int rowHandle = 0;
                    rowHandle = gridView1.LocateByValue(1, gridView1.Columns["guid"], lbGuid.Text);
                    if (rowHandle < 0)
                        rowHandle = 0;
                    gridView1.FocusedRowHandle = rowHandle;
                    barMenu.SetAllButton(2);
                    ucLst();
                    return;
                }
            };
        }
        /// <summary>
        /// 设置明细grid样式
        /// </summary>