From 5b419c5a4fd892b1777e8c5ac584bf2df3cbbb3e Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期五, 28 二月 2025 16:32:12 +0800
Subject: [PATCH] 布局

---
 DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs |  541 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 437 insertions(+), 104 deletions(-)

diff --git a/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs b/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs
index ca80e59..aa42348 100644
--- a/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs
+++ b/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs
@@ -2,16 +2,24 @@
 using System.Collections.Generic;
 using System.Configuration;
 using System.Data;
+using System.IO;
 using System.Linq;
 using System.Net;
+using System.Text;
 using System.Windows.Forms;
 using DevExpress.XtraBars;
 using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.TextEditController;
+using DevExpress.XtraGrid;
+using DevExpress.XtraGrid.Views.Grid;
+using DevExpress.XtraLayout;
+using Gs.DevApp.DevFrm.QC.Models;
 using Gs.DevApp.DevFrm.Rpt;
 using Gs.DevApp.DevFrm.Sys;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 
 namespace Gs.DevApp.UserControl
 {
@@ -25,9 +33,7 @@
             btnEdit.ItemClick += BtnEdit_ItemClick;
             btnLoad.ItemClick += BtnLoad_ItemClick;
             btnSave.ItemClick += BtnSave_ItemClick;
-            btnKG.ItemClick += BtnKG_ItemClick;
             btnEsc.ItemClick += BtnEsc_ItemClick;
-            btnRole.ItemClick += BtnRole_ItemClick;
             btnQuery.ItemClick += BtnQuery_ItemClick;
             btnReport.ItemClick += BtnReport_ItemClick;
             btnDesign.ItemClick += BtnDesign_ItemClick;
@@ -44,6 +50,14 @@
             btnCaiGouChk.ItemClick += BtnCaiGouChk_ItemClick;
             btnCaiGouFchk.ItemClick += BtnCaiGouFchk_ItemClick;
             btnBoHui.ItemClick += BtnBoHui_ItemClick;
+            btnJieAn.ItemClick += BtnJieAn_ItemClick;
+            btnFjieAn.ItemClick += BtnFjieAn_ItemClick;
+            btnTzbl.ItemClick += BtnTzbl_ItemClick;
+            btnKg.ItemClick += BtnKg_ItemClick;
+            btnZhongTai.ItemClick += BtnbZhongTai_ItemClick;
+            btnWg.ItemClick += BtnWg_ItemClick;
+            btnHelp.ItemClick += BtnHelp_ItemClick;
+            btnLayout.ItemClick += BtnLayout_ItemClick;
             var lst = new List<string>();
             foreach (BarItem item in barManager1.Items)
                 if (item is BarLargeButtonItem largeButtonItem)
@@ -51,7 +65,6 @@
                         lst.Add(item.Caption);
             actions = lst;
         }
-
 
 
         /// <summary>
@@ -62,6 +75,43 @@
             base.OnCreateControl();
             if (Parent != null) getNamespace();
         }
+
+        private bool _isCk(int _type)
+        {
+            Form parentForm = this.FindForm();
+            if (parentForm != null)
+            {
+                PictureBox specificControl = (PictureBox)parentForm.Controls.Find("picCheckBox", true).FirstOrDefault();
+                if (specificControl == null)
+                    return false;
+                if (specificControl.Tag == null)
+                    return false;
+                if (_type == 1)
+                {
+                    if (specificControl != null)
+                    {
+                        if (specificControl.Tag.ToString() == "宸插鏍�")
+                        {
+                            Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇ュ崟鎹凡琚鏍革紝鏃犳硶杩涜鎿嶄綔锛�");
+                            return true;
+                        }
+                    }
+                }
+                if (_type == 0)
+                {
+                    if (specificControl != null)
+                    {
+                        if (specificControl.Tag.ToString() == "鏈鏍�")
+                        {
+                            Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇ュ崟鎹湭琚鏍革紝鏃犳硶杩涜鎿嶄綔锛�");
+                            return true;
+                        }
+                    }
+                }
+            }
+            return false;
+        }
+
         private void BtnBoHui_ItemClick(object sender, ItemClickEventArgs e)
         {
             if (btnBoHuiClick != null)
@@ -168,50 +218,39 @@
 
         private void BtnFchk_ItemClick(object sender, ItemClickEventArgs e)
         {
+            bool bl = _isCk(0);
+            if (bl) return;
             if (btnFChkClick != null)
+            {
                 btnFChkClick(this, e);
-            else
-                return;
-
-            if (string.IsNullOrEmpty(guidKey))
-            {
-                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
-                return;
             }
-
-            if (string.IsNullOrEmpty(chkParameter))
-            {
-                MsgHelper.ShowError("娌℃湁鎸囧畾瀹℃牳鍙傛暟锛岃鑱旂郴寮�鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
-                return;
-            }
-
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾鍙嶅鏍稿悧锛�"))
-                return;
-            _ckService(0.ToString());
+            return;
         }
 
         private void BtnChk_ItemClick(object sender, ItemClickEventArgs e)
         {
+            bool bl = _isCk(1);
+            if (bl) return;
             if (btnChkClick != null)
+            {
                 btnChkClick(this, e);
+            }
+            return;
+        }
+        private void BtnFjieAn_ItemClick(object sender, ItemClickEventArgs e)
+        {
+            if (btnFjieAnClick != null)
+                btnFjieAnClick(this, e);
             else
                 return;
+        }
 
-            if (string.IsNullOrEmpty(guidKey))
-            {
-                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+        private void BtnJieAn_ItemClick(object sender, ItemClickEventArgs e)
+        {
+            if (btnJieAnClick != null)
+                btnJieAnClick(this, e);
+            else
                 return;
-            }
-
-            if (string.IsNullOrEmpty(chkParameter))
-            {
-                MsgHelper.ShowError("娌℃湁鎸囧畾瀹℃牳鍙傛暟锛岃鑱旂郴寮�鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
-                return;
-            }
-
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾瀹℃牳鍚楋紵"))
-                return;
-            _ckService(1.ToString());
         }
 
 
@@ -225,7 +264,7 @@
                 MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            UserControl.ShowLogcs frm = new ShowLogcs();
+            UserControl.ShowLogcs frm = new ShowLogcs(this.guidKey);
             frm.ShowDialog();
         }
 
@@ -236,54 +275,58 @@
 
         private void BtnFjianYan_ItemClick(object sender, ItemClickEventArgs e)
         {
+            bool bl = _isCk(0);
+            if (bl) return;
             if (btnFjianYanClick != null)
                 btnFjianYanClick(this, e);
             else
                 return;
-            if (string.IsNullOrEmpty(guidKey))
-            {
-                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
-                return;
-            }
+            //if (string.IsNullOrEmpty(guidKey))
+            //{
+            //    MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+            //    return;
+            //}
 
-            if (string.IsNullOrEmpty(chkParameter))
-            {
-                MsgHelper.ShowError("娌℃湁鎸囧畾妫�楠屽弬鏁帮紝璇疯仈绯诲紑鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
-                return;
-            }
+            //if (string.IsNullOrEmpty(chkParameter))
+            //{
+            //    MsgHelper.ShowError("娌℃湁鎸囧畾妫�楠屽弬鏁帮紝璇疯仈绯诲紑鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
+            //    return;
+            //}
 
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾鎾ゅ洖妫�楠屽悧锛�"))
-                return;
-            _ckService(0.ToString());
+            //if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾鎾ゅ洖妫�楠屽悧锛�"))
+            //    return;
+            //_ckService(0.ToString());
         }
 
         private void BtnJianYan_ItemClick(object sender, ItemClickEventArgs e)
         {
+            bool bl = _isCk(1);
+            if (bl) return;
             if (btnJianYanClick != null)
                 btnJianYanClick(this, e);
             else
                 return;
 
-            if (string.IsNullOrEmpty(guidKey))
-            {
-                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
-                return;
-            }
+            //if (string.IsNullOrEmpty(guidKey))
+            //{
+            //    MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+            //    return;
+            //}
 
-            if (string.IsNullOrEmpty(chkParameter))
-            {
-                MsgHelper.ShowError("娌℃湁鎸囧畾妫�楠屽弬鏁帮紝璇疯仈绯诲紑鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
-                return;
-            }
+            //if (string.IsNullOrEmpty(chkParameter))
+            //{
+            //    MsgHelper.ShowError("娌℃湁鎸囧畾妫�楠屽弬鏁帮紝璇疯仈绯诲紑鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
+            //    return;
+            //}
 
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾鎻愪氦妫�楠屽悧锛�"))
-                return;
-            var _obj = new
-            {
-                guid = guidKey,
-                parameter = chkParameter
-            };
-            _ckService(1.ToString());
+            //if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾鎻愪氦妫�楠屽悧锛�"))
+            //    return;
+            //var _obj = new
+            //{
+            //    guid = guidKey,
+            //    parameter = chkParameter
+            //};
+            //_ckService(1.ToString());
         }
 
         private async void BtnIn_ItemClick(object sender, ItemClickEventArgs e)
@@ -372,18 +415,24 @@
 
         private void BtnReport_ItemClick(object sender, ItemClickEventArgs e)
         {
+            if (btnReportClick != null)
+                btnReportClick(this, e);
+            else
+                return;
+
+            if (rptParameter == "return false")
+                return;
             if (string.IsNullOrEmpty(rptParameter))
             {
                 MsgHelper.ShowError("娌℃湁鎸囧畾鎶ヨ〃鍙傛暟锛岃鑱旂郴鎶�鏈紑鍙戜汉鍛橈紒");
                 return;
             }
-
             var _bl = false;
             _bl = _ckRptService();
             if (_bl)
             {
-                var frm = new RptPreview(rptParameter);
-                frm.Show();
+                var frm = new RptPreview(guidKey, rptParameter);
+                frm.ShowDialog();
                 return;
             }
 
@@ -392,24 +441,27 @@
 
         private void BtnDesign_ItemClick(object sender, ItemClickEventArgs e)
         {
+            if (btnDesignClick != null)
+                btnDesignClick(this, e);
+            else
+                return;
+
             if (string.IsNullOrEmpty(rptParameter))
             {
                 MsgHelper.ShowError("娌℃湁鎸囧畾鎶ヨ〃鍙傛暟锛岃鑱旂郴鎶�鏈紑鍙戜汉鍛橈紒");
                 return;
             }
-
             var _bl = false;
             _bl = _ckRptService();
             //濡傛灉宸茬粡鏈夋ā鏉夸簡锛岀洿鎺ユ墦寮�璁剧疆妯℃澘
             if (_bl)
             {
-                var frm = new EasyRptDesign(rptParameter);
-                frm.Show();
+                var frm = new EasyRptDesign(guidKey, rptParameter);
+                frm.ShowDialog();
                 return;
             }
-
             //鍚﹀垯鍚戝璁捐妯℃澘
-            var rptWizard = new ShowRptWizard(rptParameter);
+            var rptWizard = new ShowRptWizard(guidKey, rptParameter);
             rptWizard.ShowDialog();
         }
 
@@ -427,7 +479,6 @@
                 lst.Add(btnEdit.Name);
                 lst.Add(btnLoad.Name);
                 lst.Add(btnDel.Name);
-                lst.Add(btnRole.Name);
                 lst.Add(btnQuery.Name);
                 lst.Add(btnReport.Name);
                 lst.Add(btnDesign.Name);
@@ -439,15 +490,20 @@
                 lst.Add(btnIn.Name);
                 lst.Add(btnLog.Name);
                 lst.Add(btnPiZhun.Name);
+                lst.Add(btnHelp.Name);
+                lst.Add(btnLayout.Name);
+                lst.Add(btnBoHui.Name);
+                lst.Add(btnTzbl.Name);
+                lst.Add(btnKg.Name);
+                lst.Add(btnWg.Name);
+                lst.Add(btnZhongTai.Name);
                 _enabledBtn(lst);
+                this.currentAction = "esc";
                 if (btnEscClick != null) btnEscClick(this, e);
             }
         }
 
-        private void BtnKG_ItemClick(object sender, ItemClickEventArgs e)
-        {
-            if (btnKGClick != null) btnKGClick(this, e);
-        }
+
 
         private void BtnSave_ItemClick(object sender, ItemClickEventArgs e)
         {
@@ -460,6 +516,26 @@
                     lst.Add(btnAdd.Name);
                     lst.Add(btnEdit.Name);
                     lst.Add(btnEsc.Name);
+                    lst.Add(btnChk.Name);
+                    lst.Add(btnFchk.Name);
+                    lst.Add(btnDel.Name);
+                    lst.Add(btnJianYan.Name);
+                    lst.Add(btnFjianYan.Name);
+                    lst.Add(btnQuery.Name);
+                    lst.Add(btnLog.Name);
+                    lst.Add(btnZhiLiangChk.Name);
+                    lst.Add(btnZhiLiangFchk.Name);
+                    lst.Add(btnPiZhun.Name);
+                    lst.Add(btnBoHui.Name);
+                    lst.Add(btnDesign.Name);
+                    lst.Add(btnReport.Name);
+                    lst.Add(btnKg.Name);
+                    lst.Add(btnWg.Name);
+                    lst.Add(btnZhongTai.Name);
+                    lst.Add(btnHelp.Name);
+                    lst.Add(btnLayout.Name);
+                    lst.Add(btnLoad.Name);
+                    lst.Add(btnTzbl.Name);
                     _enabledBtn(lst);
                 }
             }
@@ -476,16 +552,26 @@
 
         private void BtnEdit_ItemClick(object sender, ItemClickEventArgs e)
         {
+            bool bl = _isCk(1);
+            if (bl) return;
             var lst = new List<string>();
             lst.Add(btnSave.Name);
             lst.Add(btnEsc.Name);
+            lst.Add(btnHelp.Name);
+            lst.Add(btnLayout.Name);
             _enabledBtn(lst);
+            this.currentAction = "edit";
             if (btnEdtClick != null) btnEdtClick(this, e);
         }
 
         private void BtnDel_ItemClick(object sender, ItemClickEventArgs e)
         {
+            bool bl = _isCk(1);
+            if (bl) return;
             if (btnDelClick != null) btnDelClick(this, e);
+
+            // btnEsc.Enabled = false;
+            this.currentAction = "";
         }
 
         /// <summary>
@@ -497,8 +583,21 @@
             var lst = new List<string>();
             lst.Add(btnSave.Name);
             lst.Add(btnEsc.Name);
+            lst.Add(btnHelp.Name);
+            lst.Add(btnLayout.Name);
             _enabledBtn(lst);
+            this.currentAction = "add";
             if (btnAddClick != null) btnAddClick(this, e);
+            Form parentForm = this.FindForm();
+            if (parentForm != null)
+            {
+                PictureBox specificControl = (PictureBox)parentForm.Controls.Find("picCheckBox", true).FirstOrDefault();
+                if (specificControl != null)
+                {
+                    specificControl.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck;
+                    specificControl.Tag = "鏈鏍�";
+                }
+            }
         }
 
         private void BtnRole_ItemClick(object sender, ItemClickEventArgs e)
@@ -510,6 +609,70 @@
             if (btnRoleClick != null) btnRoleClick(this, e);
         }
 
+        private void BtnWg_ItemClick(object sender, ItemClickEventArgs e)
+        {
+            if (btnWgClick != null) btnWgClick(this, e);
+        }
+
+
+
+        private void BtnbZhongTai_ItemClick(object sender, ItemClickEventArgs e)
+        {
+            if (btnZhongTaiClick != null) btnZhongTaiClick(this, e);
+        }
+
+        private void BtnKg_ItemClick(object sender, ItemClickEventArgs e)
+        {
+
+            if (btnKgClick != null) btnKgClick(this, e);
+        }
+
+        private void BtnTzbl_ItemClick(object sender, ItemClickEventArgs e)
+        {
+            if (btnTzblClick != null) btnTzblClick(this, e);
+        }
+        private void BtnHelp_ItemClick(object sender, ItemClickEventArgs e)
+        {
+            var _formNamespace = "";
+            Control parentControl = this;
+            while (parentControl.Parent != null)
+            {
+                if (parentControl.Parent is Form parentForm)
+                {
+                    var formType = parentForm.GetType();
+                    _formNamespace = formType.FullName;
+                    break;
+                }
+                parentControl = parentControl.Parent;
+            }
+            string strReturn = UtilityHelper.HttpPost("",
+                   "MenuAction/GetHelpFile",
+                   JsonConvert.SerializeObject(_formNamespace));
+            var _rtnJson = UtilityHelper.ReturnToDynamic(strReturn);
+            if (_rtnJson.rtnCode > 0)
+            {
+                var urlPath = _rtnJson.rtnData.ToString();
+                Gs.DevApp.UserControl.ShowFile frm = new ShowFile(urlPath);
+                frm.ShowDialog();
+                return;
+            }
+            Gs.DevApp.ToolBox.MsgHelper.ShowInformation(_rtnJson.rtnMsg);
+        }
+
+        private void BtnLayout_ItemClick(object sender, ItemClickEventArgs ee)
+        {
+            Form parentForm = this.Parent as Form;
+            string _formNamespace = parentForm.GetType().FullName;
+            if (parentForm != null)
+            {
+                List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = getGvList();
+                List<DevExpress.XtraLayout.LayoutControl> layList = getLayList();
+                List<DevExpress.XtraEditors.SplitContainerControl> spcList = getSpcList();
+                Gs.DevApp.UserControl.showLayOut DevFrm = new showLayOut(_formNamespace, gvList, layList, spcList);
+                DevFrm.ShowDialog();
+            }
+            //if (btnLayoutClick != null) btnLayoutClick(this, ee);
+        }
         private void _enabledBtn(List<string> lstBtn)
         {
             foreach (BarItem item in barManager1.Items)
@@ -537,14 +700,12 @@
                     _formNamespace = formType.FullName;
                     break;
                 }
-
                 parentControl = parentControl.Parent;
             }
 
             var _obj = new
             {
                 userGuid = LoginInfoModel.CurrentUser.LoginUserGuid,
-                orgGuid = LoginInfoModel.CurrentUser.LoginOrgGuid,
                 formNamespace = _formNamespace
             };
             var strReturn = "";
@@ -636,6 +797,8 @@
 
                 //榛樿鍚敤鐨勬寜閽�
                 _enabledList.Add(btnLoad.Name);
+                _enabledList.Add(btnHelp.Name);
+                _enabledList.Add(btnLayout.Name);
                 _enabledBtn(_enabledList);
             }
             catch (Exception ex)
@@ -665,9 +828,11 @@
             {
                 var _obj = new
                 {
-                    rptParameter
+                    guid = guidKey,
+                    rptParameter,
+                    isDesign = 1
                 };
-                var strJson = UtilityHelper.HttpPost("", "Report/GetTemplate",
+                var strJson = UtilityHelper.HttpPost("", "Report/GetRptData",
                     JsonConvert.SerializeObject(_obj));
                 var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0) return true;
@@ -678,26 +843,9 @@
                 MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
                 return true;
             }
-
             return false;
         }
 
-        private void _ckService(string _ckValue)
-        {
-            var _obj = new
-            {
-                guid = guidKey,
-                parameter = chkParameter,
-                ckValue = _ckValue
-            };
-            var strJson = UtilityHelper.HttpPost("", "General/GeneralCheck",
-                JsonConvert.SerializeObject(_obj));
-            var _rtn = UtilityHelper.ReturnToDynamic(strJson);
-            MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData["outMsg"].ToString());
-            if (_rtn.rtnCode > 0)
-            {
-            }
-        }
 
         #region 鍏叡浜嬩欢
 
@@ -731,10 +879,6 @@
         /// </summary>
         public event EventHandler btnEscClick;
 
-        /// <summary>
-        ///     寮�宸�
-        /// </summary>
-        public event EventHandler btnKGClick;
 
         /// <summary>
         ///     鏉冮檺
@@ -806,6 +950,50 @@
         /// </summary>
         public event EventHandler btnBoHuiClick;
 
+        /// <summary>
+        /// 璁剧疆鎶ヨ〃
+        /// </summary>
+        public event EventHandler btnDesignClick;
+
+        /// <summary>
+        /// 鎶ヨ〃
+        /// </summary>
+        public event EventHandler btnReportClick;
+
+        /// <summary>
+        /// 缁撴
+        /// </summary>
+        public event EventHandler btnJieAnClick;
+
+        /// <summary>
+        /// 鍙嶇粨妗�
+        /// </summary>
+        public event EventHandler btnFjieAnClick;
+
+
+        /// <summary>
+        ///     寮�宸�
+        /// </summary>
+        public event EventHandler btnKgClick;
+
+        /// <summary>
+        /// 閫氱煡澶囨枡
+        /// </summary>
+        public event EventHandler btnTzblClick;
+
+        /// <summary>
+        /// 鐘舵��
+        /// </summary>
+        public event EventHandler btnZhongTaiClick;
+
+        /// <summary>
+        /// 鎵嬪姩瀹屽伐
+        /// </summary>
+        public event EventHandler btnWgClick;
+
+
+        //public event EventHandler btnLayoutClick;
+
         #endregion
 
         #region 鍏叡灞炴��
@@ -842,8 +1030,153 @@
         /// </summary>
         public string chkParameter { get; set; }
 
+        /// <summary>
+        /// 褰撳墠鐘舵��
+        /// </summary>
+        public string currentAction { get; set; }
         #endregion
 
 
+
+        /// <summary>
+        /// 鏌ユ壘gridView
+        /// </summary>
+        /// <returns></returns>
+        private List<DevExpress.XtraGrid.Views.Grid.GridView> getGvList()
+        {
+            Form parentForm = this.Parent as Form;
+            List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
+            //鏌ユ壘gridview,涓婚〉闈�
+            GridControl gcMain = parentForm.Controls.Find("gcMain", true).OfType<GridControl>().FirstOrDefault();
+            if (gcMain != null)
+            {
+                GridView gv1 = gcMain.MainView as GridView;
+                if (gv1 != null)
+                {
+                    gvList.Add(gv1);
+                }
+            }
+            return gvList;
+        }
+        /// <summary>
+        /// 鏌ユ壘LayoutControl
+        /// </summary>
+        /// <returns></returns>
+        private List<DevExpress.XtraLayout.LayoutControl> getLayList()
+        {
+            Form parentForm = this.Parent as Form;
+            List<DevExpress.XtraLayout.LayoutControl> layList = new List<DevExpress.XtraLayout.LayoutControl>();
+            //DevExpress.XtraLayout.LayoutControl lay1 = parentForm.Controls.Find("lay1", true).OfType<DevExpress.XtraLayout.LayoutControl>().FirstOrDefault();
+            //if (lay1 != null)
+            //{
+            //    layList.Add(lay1);
+            //}
+            DevExpress.XtraLayout.LayoutControl lay2 = parentForm.Controls.Find("lay2", true).OfType<DevExpress.XtraLayout.LayoutControl>().FirstOrDefault();
+            if (lay2 != null)
+            {
+                layList.Add(lay2);
+            }
+            return layList;
+        }
+
+        /// <summary>
+        /// 鏌ユ壘SplitContainerControl
+        /// </summary>
+        /// <returns></returns>
+        private List<DevExpress.XtraEditors.SplitContainerControl> getSpcList()
+        {
+            Form parentForm = this.Parent as Form;
+            List<DevExpress.XtraEditors.SplitContainerControl> spcList = new List<DevExpress.XtraEditors.SplitContainerControl>();
+            DevExpress.XtraEditors.SplitContainerControl spc1 = parentForm.Controls.Find("spc1", true).OfType<DevExpress.XtraEditors.SplitContainerControl>().FirstOrDefault();
+            DevExpress.XtraEditors.SplitContainerControl spc2 = parentForm.Controls.Find("spc2", true).OfType<DevExpress.XtraEditors.SplitContainerControl>().FirstOrDefault();
+            if (spc1 != null)
+            {
+                spcList.Add(spc1);
+            }
+            if (spc2 != null)
+            {
+                spcList.Add(spc2);
+            }
+            return spcList;
+        }
+
+        public void getXmlConfig()
+        {
+            Form parentForm = this.Parent as Form;
+            string _formNamespace = parentForm.GetType().FullName;
+            List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = getGvList();
+            List<DevExpress.XtraLayout.LayoutControl> layList = getLayList();
+            List<DevExpress.XtraEditors.SplitContainerControl> spcList=getSpcList();
+           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"])
+                    {
+                        //string _id = a["controlId"].ToString();
+                        //string _controlType = a["controlType"].ToString();
+                        //string _controlXml = a["controlXml"].ToString();
+                        //string _splitterPosition = a["splitterPosition"].ToString();
+                        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);
+                            }
+                        }
+                    }
+                    foreach (LayoutControl lay in layList)
+                    {
+                        JToken john = array.FirstOrDefault(t => t["controlId"].ToString().ToUpper() == lay.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))
+                            {
+                                lay.RestoreLayoutFromStream(stream);
+                            }
+                        }
+                    }
+                    foreach (SplitContainerControl spt in spcList)
+                    {
+                        JToken john = array.FirstOrDefault(t => t["controlId"].ToString().ToUpper() == spt.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))
+                            {
+                                spt.RestoreLayoutFromStream(stream);
+                            }
+                        }
+                    }
+                }
+                else
+                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+            }
+            catch (Exception ex)
+            {
+                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3