| | |
| | | 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 |
| | | { |
| | |
| | | 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> |
| | |
| | | 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() == "已审核") |
| | |
| | | } |
| | | if (_type == 0) |
| | | { |
| | | PictureBox specificControl = (PictureBox)parentForm.Controls.Find("picCheckBox", true).FirstOrDefault(); |
| | | if (specificControl != null) |
| | | { |
| | | if (specificControl.Tag.ToString() == "未审核") |
| | |
| | | |
| | | private void BtnFjianYan_ItemClick(object sender, ItemClickEventArgs e) |
| | | { |
| | | bool bl = _isCk(0); |
| | | if (bl) return; |
| | | if (btnFjianYanClick != null) |
| | | btnFjianYanClick(this, e); |
| | | else |
| | |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | private void BtnSave_ItemClick(object sender, ItemClickEventArgs e) |
| | |
| | | var lst = new List<string>(); |
| | | lst.Add(btnAdd.Name); |
| | | lst.Add(btnEdit.Name); |
| | | lst.Add(btnEsc.Name); |
| | | //lst.Add(btnEsc.Name); |
| | | lst.Add(btnChk.Name); |
| | | lst.Add(btnFchk.Name); |
| | | lst.Add(btnDel.Name); |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | 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) |
| | |
| | | if (bl) return; |
| | | if (btnDelClick != null) btnDelClick(this, e); |
| | | |
| | | // btnEsc.Enabled = false; |
| | | // btnEsc.Enabled = false; |
| | | this.currentAction = ""; |
| | | } |
| | | |
| | |
| | | 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; |
| | |
| | | { |
| | | if (btnWgClick != null) btnWgClick(this, e); |
| | | } |
| | | |
| | | |
| | | |
| | | private void BtnbZhongTai_ItemClick(object sender, ItemClickEventArgs e) |
| | | { |
| | |
| | | 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) |
| | | { |
| | | foreach (BarItem item in barManager1.Items) |
| | |
| | | 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) |
| | | { |
| | |
| | | //默认启用的按钮 |
| | | _enabledList.Add(btnLoad.Name); |
| | | _enabledList.Add(btnHelp.Name); |
| | | _enabledList.Add(btnLayout.Name); |
| | | _enabledList.Add(btnFont.Name); |
| | | _enabledBtn(_enabledList); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | catch (Exception ex) |
| | | { |
| | | MsgHelper.Warning("提示:" + ex.Message); |
| | | return true; |
| | | return false; |
| | | } |
| | | return false; |
| | | } |
| | |
| | | public event EventHandler btnWgClick; |
| | | |
| | | |
| | | //public event EventHandler btnLayoutClick; |
| | | |
| | | #endregion |
| | | |
| | | #region 公共属性 |
| | |
| | | /// 当前状态 |
| | | /// </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配置,目前配置gcMain1,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); |
| | | } |
| | | } |
| | | } |
| | | } |