| | |
| | | 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.XtraGrid; |
| | | using DevExpress.XtraGrid.Views.Grid; |
| | | using DevExpress.XtraLayout; |
| | | 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 |
| | | { |
| | |
| | | if (parentForm != null) |
| | | { |
| | | PictureBox specificControl = (PictureBox)parentForm.Controls.Find("picCheckBox", true).FirstOrDefault(); |
| | | if (specificControl== null) |
| | | if (specificControl == null) |
| | | return false; |
| | | if (specificControl.Tag == null) |
| | | return false; |
| | |
| | | Gs.DevApp.ToolBox.MsgHelper.ShowInformation(_rtnJson.rtnMsg); |
| | | } |
| | | |
| | | private void BtnLayout_ItemClick(object sender, ItemClickEventArgs e) |
| | | private void BtnLayout_ItemClick(object sender, ItemClickEventArgs ee) |
| | | { |
| | | var _formNamespace = ""; |
| | | Control parentControl = this; |
| | | while (parentControl.Parent != null) |
| | | Form parentForm = this.Parent as Form; |
| | | string _formNamespace = parentForm.GetType().FullName; |
| | | if (parentForm != null) |
| | | { |
| | | if (parentControl.Parent is Form parentForm) |
| | | { |
| | | var formType = parentForm.GetType(); |
| | | _formNamespace = formType.FullName; |
| | | break; |
| | | } |
| | | parentControl = parentControl.Parent; |
| | | 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(); |
| | | } |
| | | Gs.DevApp.UserControl.showLayOut DevFrm = new showLayOut(_formNamespace); |
| | | DevFrm.ShowDialog(); |
| | | //if (btnLayoutClick != null) btnLayoutClick(this, ee); |
| | | } |
| | | private void _enabledBtn(List<string> lstBtn) |
| | | { |
| | |
| | | public event EventHandler btnWgClick; |
| | | |
| | | |
| | | //public event EventHandler btnLayoutClick; |
| | | |
| | | #endregion |
| | | |
| | | #region 公共属性 |
| | |
| | | #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("gcMain1", true).OfType<GridControl>().FirstOrDefault(); |
| | | if (gcMain != null) |
| | | { |
| | | GridView gv1 = gcMain.MainView as GridView; |
| | | if (gv1 != null) |
| | | { |
| | | gvList.Add(gv1); |
| | | } |
| | | } |
| | | GridControl mx = parentForm.Controls.Find("gcMx1", true).OfType<GridControl>().FirstOrDefault(); |
| | | if (mx != null) |
| | | { |
| | | GridView gv1 = mx.MainView as GridView; |
| | | if (gv1 != null) |
| | | { |
| | | gvList.Add(gv1); |
| | | } |
| | | } |
| | | GridControl mx2 = parentForm.Controls.Find("gcMx2", true).OfType<GridControl>().FirstOrDefault(); |
| | | if (mx2 != null) |
| | | { |
| | | GridView gv1 = mx2.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 lay2 = parentForm.Controls.Find("layoutMx1", 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("split1", true).OfType<DevExpress.XtraEditors.SplitContainerControl>().FirstOrDefault(); |
| | | DevExpress.XtraEditors.SplitContainerControl spc2 = parentForm.Controls.Find("splitMx1", 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(); |
| | | // string splitterPosition = john["splitterPosition"].ToString(); |
| | | byte[] byteArray = Encoding.UTF8.GetBytes(controlXml); |
| | | using (var stream = new MemoryStream(byteArray)) |
| | | { |
| | | spt.RestoreLayoutFromStream(stream); |
| | | } |
| | | spt.Horizontal = false; |
| | | spt.Panel1.AutoScroll = false; |
| | | spt.Panel2.AutoScroll = false; |
| | | spt.ShowSplitGlyph = DevExpress.Utils.DefaultBoolean.True; |
| | | // spt.SplitterPosition = int.Parse( splitterPosition); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | ToolBox.MsgHelper.Warning("提示:" + ex.Message); |
| | | } |
| | | } |
| | | } |
| | | } |