From a44e14cc44c5beea13cfa0accd2237c3a8a07202 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期二, 01 四月 2025 16:56:35 +0800
Subject: [PATCH] 现场修理
---
DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs | 294 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 285 insertions(+), 9 deletions(-)
diff --git a/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs b/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs
index f01da9c..d5c256c 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 DevExpress.XtraRichEdit.Export.Rtf;
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
{
@@ -49,13 +57,17 @@
btnZhongTai.ItemClick += BtnbZhongTai_ItemClick;
btnWg.ItemClick += BtnWg_ItemClick;
btnHelp.ItemClick += BtnHelp_ItemClick;
+ btnLayout.ItemClick += BtnLayout_ItemClick;
+ btnFont.ItemClick += BtnFont_ItemClick;
var lst = new List<string>();
foreach (BarItem item in barManager1.Items)
if (item is BarLargeButtonItem largeButtonItem)
- if (!string.IsNullOrEmpty(item.Caption) && item.Caption != "淇濆瓨" && item.Caption != "鍒锋柊")
+ if (!string.IsNullOrEmpty(item.Caption) && item.Caption != "淇濆瓨" && item.Caption != "鍒锋柊" && item.Caption != "甯姪" && item.Caption != "淇濆瓨鐗堥潰" && item.Caption != "鍙栨秷")
lst.Add(item.Caption);
actions = lst;
}
+
+
/// <summary>
@@ -67,13 +79,18 @@
if (Parent != null) getNamespace();
}
- private bool _isCk(int _type) {
+ 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)
{
- PictureBox specificControl = (PictureBox)parentForm.Controls.Find("picCheckBox", true).FirstOrDefault();
if (specificControl != null)
{
if (specificControl.Tag.ToString() == "宸插鏍�")
@@ -85,7 +102,6 @@
}
if (_type == 0)
{
- PictureBox specificControl = (PictureBox)parentForm.Controls.Find("picCheckBox", true).FirstOrDefault();
if (specificControl != null)
{
if (specificControl.Tag.ToString() == "鏈鏍�")
@@ -478,7 +494,13 @@
lst.Add(btnLog.Name);
lst.Add(btnPiZhun.Name);
lst.Add(btnHelp.Name);
+ lst.Add(btnLayout.Name);
+ lst.Add(btnFont.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);
@@ -515,7 +537,10 @@
lst.Add(btnWg.Name);
lst.Add(btnZhongTai.Name);
lst.Add(btnHelp.Name);
+ lst.Add(btnLayout.Name);
+ lst.Add(btnFont.Name);
lst.Add(btnLoad.Name);
+ lst.Add(btnTzbl.Name);
_enabledBtn(lst);
}
}
@@ -538,10 +563,11 @@
lst.Add(btnSave.Name);
lst.Add(btnEsc.Name);
lst.Add(btnHelp.Name);
+ lst.Add(btnLayout.Name);
+ lst.Add(btnFont.Name);
_enabledBtn(lst);
this.currentAction = "edit";
if (btnEdtClick != null) btnEdtClick(this, e);
-
}
private void BtnDel_ItemClick(object sender, ItemClickEventArgs e)
@@ -550,7 +576,7 @@
if (bl) return;
if (btnDelClick != null) btnDelClick(this, e);
- // btnEsc.Enabled = false;
+ // btnEsc.Enabled = false;
this.currentAction = "";
}
@@ -564,13 +590,15 @@
lst.Add(btnSave.Name);
lst.Add(btnEsc.Name);
lst.Add(btnHelp.Name);
+ lst.Add(btnLayout.Name);
+ lst.Add(btnFont.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();
+ PictureBox specificControl = (PictureBox)parentForm.Controls.Find("picCheckBox", true).FirstOrDefault();
if (specificControl != null)
{
specificControl.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck;
@@ -636,9 +664,28 @@
return;
}
Gs.DevApp.ToolBox.MsgHelper.ShowInformation(_rtnJson.rtnMsg);
-
}
+ private void BtnLayout_ItemClick(object sender, ItemClickEventArgs ee)
+ {
+ Form parentForm = this.Parent as Form;
+ if (parentForm == null)
+ parentForm = this.Parent.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();
+ }
+ }
+ private void BtnFont_ItemClick(object sender, ItemClickEventArgs e)
+ {
+ Gs.DevApp.UserControl.SelectFont DevFrm = new SelectFont();
+ DevFrm.ShowDialog();
+ }
private void _enabledBtn(List<string> lstBtn)
{
@@ -683,6 +730,20 @@
JsonConvert.SerializeObject(_obj));
var dd = UtilityHelper.ReturnToList(strReturn);
var dt = dd.rtnData;
+
+ if (!string.IsNullOrEmpty(defaultActions) && defaultActions.Contains("鏌ヨ"))
+ {
+ if (dt == null || dt.Rows.Count <= 0)
+ {
+ dt.Columns.Add("guid", typeof(string));
+ dt.Columns.Add("name", typeof(string));
+ }
+ DataRow newRow = dt.NewRow();
+ newRow["guid"] = Guid.NewGuid().ToString();
+ newRow["name"] = "鏌ヨ";
+ dt.Rows.Add(newRow);
+ }
+
var _enabledList = new List<string>();
foreach (BarItem item in barManager1.Items)
{
@@ -765,6 +826,8 @@
//榛樿鍚敤鐨勬寜閽�
_enabledList.Add(btnLoad.Name);
_enabledList.Add(btnHelp.Name);
+ _enabledList.Add(btnLayout.Name);
+ _enabledList.Add(btnFont.Name);
_enabledBtn(_enabledList);
}
catch (Exception ex)
@@ -807,7 +870,7 @@
catch (Exception ex)
{
MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
- return true;
+ return false;
}
return false;
}
@@ -958,6 +1021,8 @@
public event EventHandler btnWgClick;
+ //public event EventHandler btnLayoutClick;
+
#endregion
#region 鍏叡灞炴��
@@ -998,8 +1063,219 @@
/// 褰撳墠鐘舵��
/// </summary>
public string currentAction { get; set; }
+
+ public string defaultActions { get; set; }
#endregion
+
+ /// <summary>
+ /// 鏌ユ壘gridView
+ /// </summary>
+ /// <returns></returns>
+ private List<DevExpress.XtraGrid.Views.Grid.GridView> getGvList()
+ {
+ Form parentForm;
+ if (this.Parent is Form)
+ parentForm = this.Parent as Form;
+ else
+ parentForm = this.Parent.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;
+ if (this.Parent is Form)
+ parentForm = this.Parent as Form;
+ else
+ parentForm = this.Parent.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;
+ if (this.Parent is Form)
+ parentForm = this.Parent as Form;
+ else
+ parentForm = this.Parent.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;
+ }
+
+ /// <summary>
+ /// 璇诲彇xml閰嶇疆锛岀洰鍓嶉厤缃甮cMain1,layoutMx1,鍔犳煡璇㈡潯浠�
+ /// </summary>
+ public void getXmlConfig()
+ {
+ Form parentForm;
+ if (this.Parent is Form)
+ parentForm = this.Parent as Form;
+ else
+ parentForm = this.Parent.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.Panel1.MaximumSize = new System.Drawing.Size(spt.Panel1.Width, 100);
+ // spt.SplitterPosition = int.Parse( splitterPosition);
+ spt.ShowSplitGlyph = DevExpress.Utils.DefaultBoolean.True;
+ if (spt.Name.Contains("Mx"))
+ spt.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.Panel1;
+ else
+ spt.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.Panel2;
+
+ }
+ }
+ //璁剧疆鏌ヨ鏉′欢beg
+ GridControl gcMain = parentForm.Controls.Find("gcMain1", true).OfType<GridControl>().FirstOrDefault();
+ 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);
+ }
+ }
}
}
\ No newline at end of file
--
Gitblit v1.9.3