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 | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 153 insertions(+), 16 deletions(-) diff --git a/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs b/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs index 00a0424..aa42348 100644 --- a/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs +++ b/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs @@ -2,17 +2,18 @@ using System.Collections.Generic; using System.Configuration; using System.Data; +using System.IO; using System.Linq; using System.Net; -using System.Windows.Controls.Primitives; +using System.Text; using System.Windows.Forms; using DevExpress.XtraBars; -using DevExpress.XtraBars.Commands; using DevExpress.XtraEditors; +using DevExpress.XtraEditors.TextEditController; using DevExpress.XtraGrid; -using DevExpress.XtraGrid.Columns; -using DevExpress.XtraGrid.Menu; 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; @@ -664,19 +665,13 @@ string _formNamespace = parentForm.GetType().FullName; if (parentForm != null) { - List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = new List<DevExpress.XtraGrid.Views.Grid.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); - } - } - Gs.DevApp.UserControl.showLayOut DevFrm = new showLayOut(_formNamespace, gvList); + 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); + //if (btnLayoutClick != null) btnLayoutClick(this, ee); } private void _enabledBtn(List<string> lstBtn) { @@ -803,6 +798,7 @@ //榛樿鍚敤鐨勬寜閽� _enabledList.Add(btnLoad.Name); _enabledList.Add(btnHelp.Name); + _enabledList.Add(btnLayout.Name); _enabledBtn(_enabledList); } catch (Exception ex) @@ -996,7 +992,7 @@ public event EventHandler btnWgClick; - public event EventHandler btnLayoutClick; + //public event EventHandler btnLayoutClick; #endregion @@ -1041,5 +1037,146 @@ #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