From aafffe61d42c6f0b731af002012979a6a0ead974 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期四, 29 五月 2025 16:39:41 +0800
Subject: [PATCH] 过站
---
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 2320 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 2,320 insertions(+), 0 deletions(-)
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
new file mode 100644
index 0000000..12c20c2
--- /dev/null
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -0,0 +1,2320 @@
+锘縰sing DevExpress.Utils;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
+using DevExpress.XtraGrid;
+using DevExpress.XtraGrid.Columns;
+using DevExpress.XtraGrid.Menu;
+using DevExpress.XtraGrid.Views.Grid;
+using DevExpress.XtraGrid.Views.Grid.ViewInfo;
+using DevExpress.XtraTab;
+using DevExpress.XtraTreeList;
+using Gs.DevApp.Entity;
+using Gs.DevApp.UserControl;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Drawing;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Net.Cache;
+using System.Net.Http;
+using System.Reflection;
+using System.Resources;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using System.Windows.Forms.VisualStyles;
+using UserControls.Data;
+using static System.Windows.Forms.Control;
+
+
+namespace Gs.DevApp.ToolBox
+{
+ /// <summary>
+ /// 閫氱敤绫�
+ /// </summary>
+ public class UtilityHelper
+ {
+ private static readonly string WebApiUrl =
+ ConfigurationManager.AppSettings["WebApiUrl"];
+
+ public static (Size, string, Color, Padding) getLoading()
+ {
+ Size _size = new Size(360, 90);
+ return (_size, "鎷煎懡鍔犺浇涓紝璇风◢鍚�...", System.Drawing.Color.LightSkyBlue, new Padding(15));
+ }
+ public static string HttpPost(string url, string meth, string param, bool isLoading = true)
+ {
+ Size _size; string _caption; Color _color; Padding _pad;
+ (_size, _caption, _color, _pad) = getLoading();
+ DevExpress.Utils.WaitDialogForm wdf = new DevExpress.Utils.WaitDialogForm("鍔犺浇杩涘害:" + meth, _caption, _size);
+ wdf.BackColor = _color;
+ wdf.Padding = _pad;
+ wdf.SetCaption("鍔犺浇杩涘害:" + meth);
+ wdf.Visible = isLoading;
+ HttpWebRequest request = null;
+ StreamWriter requestStream = null;
+ WebResponse response = null;
+ string responseStr = null;
+ try
+ {
+ if (string.IsNullOrEmpty(url))
+ url = WebApiUrl;
+ url += meth;
+ request = (HttpWebRequest)WebRequest.Create(url);
+ request.Method = "POST";
+ request.ContentType = "application/json";
+ request.Headers.Add("token", GetBasicAuthTicket());
+ request.Accept = "*/*";
+ request.Timeout = 150000;
+ request.AllowAutoRedirect = false;
+ request.ServicePoint.Expect100Continue = false;
+ HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
+ request.CachePolicy = noCachePolicy;
+ requestStream = new StreamWriter(request.GetRequestStream());
+ requestStream.Write(param);
+ requestStream.Close();
+ response = request.GetResponse();
+ if (response != null)
+ {
+ var reader = new StreamReader(response.GetResponseStream(),
+ Encoding.UTF8);
+ responseStr = reader.ReadToEnd();
+ //File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr);
+ reader.Close();
+ }
+ }
+ catch (Exception ex)
+ {
+ wdf.Close();
+ LogHelper.Debug(url, param + ":" + ex.Message);
+ throw ex;
+ }
+ finally
+ {
+ request = null;
+ requestStream = null;
+ response = null;
+ }
+ wdf.Close();
+ return responseStr;
+ }
+
+ /// <summary>
+ /// 榛樿椤靛ぇ灏�
+ /// </summary>
+ /// <returns></returns>
+ public static int GetPageSize()
+ {
+ return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize"));
+ }
+
+ /// <summary>
+ /// 鏍规嵁鍥剧墖鍚嶈鍙栬祫婧愭枃浠�,涓嶅甫鍚庣紑鍚�
+ /// </summary>
+ /// <param name="imageName"></param>
+ /// <param name="lay">1涓哄ぇ鍥�</param>
+ /// <returns></returns>
+ public static Image GetImgFromResource(string imageName, int lay)
+ {
+ var assembly = Assembly.GetExecutingAssembly();
+ var resourceManager =
+ new ResourceManager("Gs.DevApp.Properties.Resources", assembly);
+ try
+ {
+ var image = resourceManager.GetObject(imageName) as Image;
+ if (image != null) return image;
+ }
+ catch (Exception ex)
+ {
+ }
+
+ var image2 = resourceManager.GetObject(lay == 1
+ ? "chartsshowlegend_32x32"
+ : "linktoprevious_16x16") as Image;
+ return image2;
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栦竴涓〃
+ /// </summary>
+ /// <param name="gc"></param>
+ /// <param name="gv"></param>
+ public static void SetDefaultTable(GridControl gc, GridView gv)
+ {
+ var dt = new DataTable();
+ foreach (GridColumn col in gv.Columns)
+ {
+ if (col.UnboundDataType == typeof(System.Boolean))
+ dt.Columns.Add(col.FieldName, typeof(System.Boolean));
+ else
+ {
+ dt.Columns.Add(col.FieldName, typeof(string));
+ }
+ }
+ gc.BindingContext = new BindingContext();
+ gc.DataSource = dt;
+ gc.ForceInitialize();
+ }
+
+ /// <summary>
+ /// 鐢熸垚璁块棶鏈嶅姟鐨則oken
+ /// </summary>
+ /// <returns></returns>
+ public static string GetBasicAuthTicket()
+ {
+ var userGuid =
+ string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid)
+ ? Guid.NewGuid().ToString()
+ : LoginInfoModel.CurrentUser.LoginUserGuid;
+ var token = userGuid;
+ return token;
+ }
+
+ /// <summary>
+ /// 鏈嶅姟杩斿洖鐨刯son杞负ReturnModel-->鍖呭惈TablePage鍒嗛〉锛�
+ /// </summary>
+ /// <param name="strReturn"></param>
+ /// <returns></returns>
+ public static ReturnModel<PageListModel> ReturnToTablePage(
+ string strReturn)
+ {
+ var rto = new ReturnModel<PageListModel>();
+ var json = JObject.Parse(strReturn);
+ rto.rtnCode = int.Parse(json["rtnCode"].ToString());
+ rto.rtnMsg = json["rtnMsg"].ToString();
+ rto.rtnData = new PageListModel();
+ rto.rtnData.pages = int.Parse(json["rtnData"]["pages"].ToString());
+ rto.rtnData.total = int.Parse(json["rtnData"]["total"].ToString());
+ rto.rtnData.everyPageSize =
+ int.Parse(json["rtnData"]["everyPageSize"].ToString());
+ var array = new JArray();
+ var d = json["rtnData"]["list"];
+ foreach (var a in d) array.Add(a);
+ var dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+ rto.rtnData.list = dt;
+ return rto;
+ }
+
+ /// <summary>
+ /// 鏈嶅姟杩斿洖鐨刯son杩斿洖ReturnModel锛�
+ /// </summary>
+ /// <param name="strReturn"></param>
+ /// <returns></returns>
+ public static ReturnModel<dynamic> ReturnToDynamic(string strReturn)
+ {
+ var rto = new ReturnModel<dynamic>();
+ var json = JObject.Parse(strReturn);
+ rto.rtnCode = int.Parse(json["rtnCode"].ToString());
+ rto.rtnMsg = json["rtnMsg"].ToString();
+ rto.rtnData = json["rtnData"];
+ return rto;
+ }
+
+ /// <summary>
+ /// 鏈嶅姟杩斿洖鐨刯son涓茶繑鍥濺eturnModel-->浠呬粎鏈塴ist,涓嶅垎椤碉紝
+ /// </summary>
+ /// <param name="strReturn"></param>
+ /// <returns></returns>
+ public static ReturnModel<DataTable> ReturnToList(string strReturn)
+ {
+ var rto = new ReturnModel<DataTable>();
+ var json = JObject.Parse(strReturn);
+ rto.rtnCode = int.Parse(json["rtnCode"].ToString());
+ rto.rtnMsg = json["rtnMsg"].ToString();
+ rto.rtnData = new DataTable();
+ var array = new JArray();
+ var d = json["rtnData"];
+ foreach (var a in d) array.Add(a);
+ //if (array.Count <=0)
+ // return null;
+ var dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+ rto.rtnData = dt;
+ return rto;
+ }
+
+
+ #region 鎵归噺澶勭悊瀵瑰儚锛屾枃鏈�硷紝鍖呭惈娓呯┖锛岀鐢紝鍚敤涓夌
+ /// <summary>
+ /// 鏍规嵁瀵硅薄鎵归噺璁剧疆鏂囨湰妗嗙殑鍊�
+ /// </summary>
+ /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param>
+ /// <param name="dynamicObject">瀵瑰儚</param>
+ /// <param name="isEdt">鏄惁鍙紪杈�</param>
+ /// <param name="gridViews">鍏宠仈鐨刧rid</param>
+ public static void SetValueByObj(ControlCollection controls,
+ dynamic dynamicObject, bool isEdt, List<GridView> gridViews = null)
+ {
+ isEdt = !isEdt;
+ if (gridViews != null)
+ {
+ foreach (var gv in gridViews)
+ {
+ gv.ClearSorting();
+ gv.OptionsCustomization.AllowSort = isEdt;
+ foreach (GridColumn colmn in gv.Columns)
+ {
+ colmn.OptionsColumn.AllowEdit = true;
+ if (colmn.Name.ToString().Contains("gvBtnAlawys"))
+ {
+ colmn.Visible = true;
+ colmn.OptionsColumn.ReadOnly = false;
+ };
+ if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
+ {
+ colmn.Visible = !isEdt;
+ if (colmn.Visible == true)
+ colmn.VisibleIndex = 99999;
+ }
+ else
+ {
+ if (isEdt == false)
+ {
+ if (colmn.Tag != null && colmn.Tag.ToString().EndsWith("edit"))
+ colmn.OptionsColumn.ReadOnly = isEdt;
+ else
+ colmn.OptionsColumn.ReadOnly = !isEdt;
+ }
+ else
+ colmn.OptionsColumn.ReadOnly = isEdt;
+ }
+ }
+ }
+ }
+ var _btnAry = controls.Find("btnSelect", false);
+ if (_btnAry.Length > 0)
+ {
+ var _btnType = _btnAry[0];
+ _btnType.Enabled = !isEdt;
+ }
+ var _btnAry2 = controls.Find("btnTui", false);
+ if (_btnAry2.Length > 0)
+ {
+ var _btnType = _btnAry2[0];
+ _btnType.Enabled = !isEdt;
+ }
+ foreach (JProperty property in dynamicObject.Properties())
+ {
+ var strName = property.Name;
+ var strVal = property.Value.ToString();
+ try
+ {
+ var _dddddd = "txt_" + strName;
+ var cols = controls.Find(_dddddd, true);
+ if (cols.Length > 0)
+ {
+ var colType = cols[0];
+
+ if (colType is LookUpEdit)
+ {
+ var txt = colType as LookUpEdit;
+ if (txt != null) txt.EditValue = strVal;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ if (colType is ImageComboBoxEdit)
+ {
+ var txt = colType as ImageComboBoxEdit;
+ for (var i = 0; i < txt.Properties.Items.Count; i++)
+ {
+ if (txt.Properties.Items[i].Description ==
+ strVal)
+ {
+ txt.ReadOnly = isEdt;
+ txt.SelectedIndex = i;
+ }
+ }
+ continue;
+ }
+ if (colType is ComboBoxEdit)
+ {
+ var txt = colType as ComboBoxEdit;
+ if (txt.Properties.TextEditStyle ==
+ TextEditStyles.DisableTextEditor)
+ try
+ {
+ txt.SelectedIndex = int.Parse(strVal);
+ }
+ catch (Exception)
+ {
+
+ txt.Text = strVal;
+ }
+ else
+ txt.Text = strVal;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ if (colType is ButtonEdit)
+ {
+ var txt = colType as ButtonEdit;
+ if (txt != null)
+ txt.Text = strVal;
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //鏂囨湰
+ if (colType is TextEdit)
+ {
+ var txt = colType as TextEdit;
+ if (txt != null)
+ txt.Text = strVal;
+ if (_isRead(txt.Tag))
+ {
+ txt.ReadOnly = true;
+ }
+ else
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //鏂囨湰鍩�
+ if (colType is MemoEdit)
+ {
+ var txt = colType as MemoEdit;
+ if (txt != null)
+ txt.Text = strVal;
+ if (_isRead(txt.Tag))
+ {
+ txt.ReadOnly = true;
+ }
+ else
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //鏁板瓧鍗�
+ if (colType is NumericUpDown)
+ {
+ var txt = colType as NumericUpDown;
+ if (txt != null)
+ txt.Text = strVal;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //鍗曢��
+ if (colType is CheckEdit)
+ {
+ var txt = colType as CheckEdit;
+ if (_isRead(txt.Tag))
+ {
+ txt.ReadOnly = true;
+ }
+ else
+ txt.ReadOnly = isEdt;
+ if (txt != null)
+ {
+ switch (strVal)
+ {
+ case "True":
+ txt.Checked = true;
+ break;
+ case "1":
+ txt.Checked = true;
+ break;
+ case "False":
+ txt.Checked = false;
+ break;
+ default:
+ txt.Checked = false;
+ break;
+ }
+ }
+
+ continue;
+ }
+ //鍗曢��
+ if (colType is CheckBox)
+ {
+ var txt = colType as CheckBox;
+ if (txt != null)
+ switch (strVal)
+ {
+ case "True":
+ txt.Checked = true;
+ break;
+ case "1":
+ txt.Checked = true;
+ break;
+ case "False":
+ txt.Checked = false;
+ break;
+ default:
+ txt.Checked = false;
+ break;
+ }
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //鏃堕棿
+ if (colType is DateTimePicker)
+ {
+ var txt = colType as DateTimePicker;
+ txt.Text = strVal;
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //Label
+ if (colType is Label)
+ {
+ var txt = colType as Label;
+ if (_dddddd == "txt_checkStatus")
+ {
+ if (strVal == "True" || strVal == "1")
+ txt.Text = "宸插鏍�";
+ if (strVal == "False" || strVal == "0" || strVal == "")
+ txt.Text = "鏈鏍�";
+ }
+ else
+ {
+ txt.Text = strVal;
+ }
+ }
+ //鑷畾涔変粨搴�
+ if (colType is UcLookCk)
+ {
+ var txt = colType as UcLookCk;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涔変緵搴斿晢
+ if (colType is UcLookSupplier)
+ {
+ var txt = colType as UcLookSupplier;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涔夌墿鏂�
+ if (colType is UcLookItems)
+ {
+ var txt = colType as UcLookItems;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾杞﹂棿
+ if (colType is UcLookWorkshop)
+ {
+ var txt = colType as UcLookWorkshop;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾浜х嚎
+ if (colType is UcLookWorkline)
+ {
+ var txt = colType as UcLookWorkline;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾鍗曚綅
+ if (colType is UcLookUnit)
+ {
+ var txt = colType as UcLookUnit;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾瀹㈡埛
+ if (colType is UcLookCustomer)
+ {
+ var txt = colType as UcLookCustomer;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾鍛樺伐
+ if (colType is UcLookStaff)
+ {
+ var txt = colType as UcLookStaff;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾缁勭粐
+ if (colType is UcLookOrg)
+ {
+ var txt = colType as UcLookOrg;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾鐢ㄦ埛
+ if (colType is UcLookUser)
+ {
+ var txt = colType as UcLookUser;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾鎵撳嵃鏈�
+ if (colType is UcLookPrint)
+ {
+ var txt = colType as UcLookPrint;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾閮ㄩ棬
+ if (colType is UcLookDepartment)
+ {
+ var txt = colType as UcLookDepartment;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾daa
+ if (colType is UcLookDaa)
+ {
+ var txt = colType as UcLookDaa;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾濮斿
+ if (colType is UcLookWwgd)
+ {
+ var txt = colType as UcLookWwgd;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾閿�鍞�
+ if (colType is UcLookSales)
+ {
+ var txt = colType as UcLookSales;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ if (colType is SimpleButton)
+ {
+ var txt = colType as SimpleButton;
+ if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys")
+ txt.Enabled = true;
+ else
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //鑷畾宸ュ簭
+ if (colType is UcLookGx)
+ {
+ var txt = colType as UcLookGx;
+ txt.SetIdOrCode(strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涓嶈壇
+ if (colType is UcDictionary)
+ {
+ var txt = colType as UcDictionary;
+ txt.TextTxt = (strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾鍗曟嵁绫诲瀷涓嬫媺
+ if (colType is UcDictionaryComBox)
+ {
+ var txt = colType as UcDictionaryComBox;
+ txt.TextTxt = (strVal);
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message);
+ }
+ }
+
+ foreach (Control ctrl in controls)
+ {
+ if (ctrl is TextEdit)
+ {
+ var txt = ctrl as TextEdit;
+ bool _bl = _isRead(txt.Tag, isEdt);
+ txt.ReadOnly = _bl;
+ // txt.ReadOnly = isEdt;
+ continue;
+ }
+ }
+ }
+
+ /// <summary>
+ /// 娓呯┖瀹瑰櫒閲岄潰鐨勬帶浠�
+ /// </summary>
+ /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param>
+ /// <param name="isEdt">鏄惁鍙紪杈�</param>
+ /// <param name="gridViews">鍏宠仈鐨刧rid</param>
+ public static void CleanValueByControl(ControlCollection controls,
+ bool isEdt, List<GridView> gridViews = null)
+ {
+ isEdt = !isEdt;
+ if (gridViews != null)
+ {
+ foreach (var gv in gridViews)
+ {
+ gv.ClearSorting();
+ gv.OptionsCustomization.AllowSort = isEdt;
+ foreach (GridColumn colmn in gv.Columns)
+ {
+ colmn.OptionsColumn.AllowEdit = true;
+ if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
+ {
+ colmn.Visible = !isEdt;
+ }
+ else
+ {
+ if (isEdt == false)
+ {
+ if (colmn.Tag != null && colmn.Tag.ToString().EndsWith("edit"))
+ colmn.OptionsColumn.ReadOnly = isEdt;
+ else
+ colmn.OptionsColumn.ReadOnly = !isEdt;
+ }
+ else
+ colmn.OptionsColumn.ReadOnly = isEdt;
+ }
+ }
+ }
+ }
+ foreach (Control ctrl in controls)
+ {
+ //澶氳鏂囨湰
+ if (ctrl is MemoEdit)
+ {
+ var txt = ctrl as MemoEdit;
+ if (txt.Tag != null && txt.Tag.ToString().Length > 0 && txt.Tag.ToString().StartsWith("moren"))
+ {
+ txt.Text = txt.Tag.ToString().Replace("moren.", "");
+ }
+ else
+ txt.Text = "";
+ if (_isRead(txt.Tag))
+ {
+ txt.ReadOnly = true;
+ }
+ else
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //涓嬫媺
+ if (ctrl is ComboBoxEdit)
+ {
+ var txt = ctrl as ComboBoxEdit;
+ if (txt.Properties.TextEditStyle ==
+ TextEditStyles.DisableTextEditor)
+ txt.SelectedIndex = 0;
+ else
+ txt.Text = "";
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ if (ctrl is ButtonEdit)
+ {
+ var txt = ctrl as ButtonEdit;
+ txt.Text = "";
+ txt.Enabled = !isEdt;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //鏂囨湰
+ if (ctrl is TextEdit)
+ {
+ var txt = ctrl as TextEdit;
+ if (txt.Tag != null && txt.Tag.ToString().Length > 0 && txt.Tag.ToString().StartsWith("moren"))
+ {
+ txt.Text = txt.Tag.ToString().Replace("moren.", "");
+ }
+ else
+ txt.Text = "";
+ if (_isRead(txt.Tag))
+ {
+ txt.ReadOnly = true;
+ }
+ else
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //鏃堕棿
+ if (ctrl is DateTimePicker)
+ {
+ var txt = ctrl as DateTimePicker;
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //鍗曢��
+ if (ctrl is CheckBox)
+ {
+ var txt = ctrl as CheckBox;
+ txt.Enabled = !isEdt;
+ txt.Checked = false;
+ }
+ if (ctrl is CheckEdit)
+ {
+ var txt = ctrl as CheckEdit;
+ if (_isRead(txt.Tag))
+ {
+ txt.ReadOnly = true;
+ }
+ else
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //鑷畾涔変粨搴�
+ if (ctrl is UcLookCk)
+ {
+ var txt = ctrl as UcLookCk;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涔変緵搴斿晢
+ if (ctrl is UcLookSupplier)
+ {
+ var txt = ctrl as UcLookSupplier;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涔夌墿鏂�
+ if (ctrl is UcLookItems)
+ {
+ var txt = ctrl as UcLookItems;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾杞﹂棿
+ if (ctrl is UcLookWorkshop)
+ {
+ var txt = ctrl as UcLookWorkshop;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾浜х嚎
+ if (ctrl is UcLookWorkline)
+ {
+ var txt = ctrl as UcLookWorkline;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾鍗曚綅
+ if (ctrl is UcLookUnit)
+ {
+ var txt = ctrl as UcLookUnit;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾瀹㈡埛
+ if (ctrl is UcLookCustomer)
+ {
+ var txt = ctrl as UcLookCustomer;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾鍛樺伐
+ if (ctrl is UcLookStaff)
+ {
+ var txt = ctrl as UcLookStaff;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾缁勭粐
+ if (ctrl is UcLookOrg)
+ {
+ var txt = ctrl as UcLookOrg;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾鐢ㄦ埛
+ if (ctrl is UcLookUser)
+ {
+ var txt = ctrl as UcLookUser;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾鎵撳嵃鏈�
+ if (ctrl is UcLookPrint)
+ {
+ var txt = ctrl as UcLookPrint;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+
+ //鑷畾閮ㄩ棬
+ if (ctrl is UcLookDepartment)
+ {
+ var txt = ctrl as UcLookDepartment;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾daa
+ if (ctrl is UcLookDaa)
+ {
+ var txt = ctrl as UcLookDaa;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾濮斿
+ if (ctrl is UcLookWwgd)
+ {
+ var txt = ctrl as UcLookWwgd;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾閿�鍞�
+ if (ctrl is UcLookSales)
+ {
+ var txt = ctrl as UcLookSales;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾宸ュ簭
+ if (ctrl is UcLookGx)
+ {
+ var txt = ctrl as UcLookGx;
+ txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涓嶈壇
+ if (ctrl is UcDictionary)
+ {
+ var txt = ctrl as UcDictionary;
+ txt.TextTxt = "";
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涔夊崟鎹被鍨嬩笅鎷�
+ if (ctrl is UcDictionaryComBox)
+ {
+ var txt = ctrl as UcDictionaryComBox;
+ //txt.SetIdOrCode("-1");
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ if (ctrl is SimpleButton)
+ {
+ var txt = ctrl as SimpleButton;
+ if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys")
+ txt.Enabled = true;
+ else
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ }
+ }
+
+ /// <summary>
+ /// 绂佺敤鎴栧惎鐢ㄥ鍣ㄩ噷闈㈢殑鎺т欢
+ /// </summary>
+ /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param>
+ /// <param name="isEdt"></param>
+ /// <param name="gridViews"></param>
+ public static void ChangeEnableByControl(ControlCollection controls,
+ bool isEdt, List<GridView> gridViews = null)
+ {
+ isEdt = !isEdt;
+ if (gridViews != null)
+ {
+ foreach (var gv in gridViews)
+ {
+ gv.ClearSorting();
+ gv.OptionsCustomization.AllowSort = isEdt;
+ foreach (GridColumn colmn in gv.Columns)
+ {
+ colmn.OptionsColumn.AllowEdit = true;
+ if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
+ {
+ colmn.Visible = !isEdt;
+ }
+ else
+ {
+ if (colmn.Tag != null && colmn.Tag.ToString().EndsWith("edit"))
+ colmn.OptionsColumn.ReadOnly = isEdt;
+ else
+ colmn.OptionsColumn.ReadOnly = isEdt;
+ }
+ }
+ }
+ }
+ foreach (Control ctrl in controls)
+ {
+ //涓嬫媺
+ if (ctrl is ComboBoxEdit)
+ {
+ var txt = ctrl as ComboBoxEdit;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ if (ctrl is ButtonEdit)
+ {
+ var txt = ctrl as ButtonEdit;
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ //鏂囨湰
+ if (ctrl is TextEdit)
+ {
+ var txt = ctrl as TextEdit;
+ if (_isRead(txt.Tag))
+ {
+ txt.ReadOnly = true;
+ }
+ else
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ if (ctrl is MemoEdit)
+ {
+ var txt = ctrl as MemoEdit;
+ if (_isRead(txt.Tag))
+ {
+ txt.ReadOnly = true;
+ }
+ else
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //鏁板瓧鍗�
+ if (ctrl is NumericUpDown)
+ {
+ var txt = ctrl as NumericUpDown;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //鏃ユ湡
+ if (ctrl is DateTimePicker)
+ {
+ ctrl.Enabled = !isEdt;
+ continue;
+ }
+ //鍗曢��
+ if (ctrl is CheckBox)
+ {
+ ctrl.Enabled = !isEdt;
+ continue;
+ }
+ if (ctrl is CheckEdit)
+ {
+ var txt = ctrl as CheckEdit;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //鑷畾涔変粨搴�
+ if (ctrl is UcLookCk)
+ {
+ var txt = ctrl as UcLookCk;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涔変緵搴斿晢
+ if (ctrl is UcLookSupplier)
+ {
+ var txt = ctrl as UcLookSupplier;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涔夌墿鏂�
+ if (ctrl is UcLookItems)
+ {
+ var txt = ctrl as UcLookItems;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涔夎溅闂�
+ if (ctrl is UcLookWorkshop)
+ {
+ var txt = ctrl as UcLookWorkshop;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涔変骇绾�
+ if (ctrl is UcLookWorkline)
+ {
+ var txt = ctrl as UcLookWorkline;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涔夊崟浣�
+ if (ctrl is UcLookUnit)
+ {
+ var txt = ctrl as UcLookUnit;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涔夊鎴�
+ if (ctrl is UcLookCustomer)
+ {
+ var txt = ctrl as UcLookCustomer;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涔夊憳宸�
+ if (ctrl is UcLookStaff)
+ {
+ var txt = ctrl as UcLookStaff;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾缁勭粐
+ if (ctrl is UcLookOrg)
+ {
+ var txt = ctrl as UcLookOrg;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾鐢ㄦ埛
+ if (ctrl is UcLookUser)
+ {
+ var txt = ctrl as UcLookUser;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾鎵撳嵃
+ if (ctrl is UcLookPrint)
+ {
+ var txt = ctrl as UcLookPrint;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾閮ㄩ棬
+ if (ctrl is UcLookDepartment)
+ {
+ var txt = ctrl as UcLookDepartment;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾daa
+ if (ctrl is UcLookDaa)
+ {
+ var txt = ctrl as UcLookDaa;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾濮斿
+ if (ctrl is UcLookWwgd)
+ {
+ var txt = ctrl as UcLookWwgd;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾閿�鍞�
+ if (ctrl is UcLookSales)
+ {
+ var txt = ctrl as UcLookSales;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾宸ュ簭
+ if (ctrl is UcLookGx)
+ {
+ var txt = ctrl as UcLookGx;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾涓嶈壇
+ if (ctrl is UcDictionary)
+ {
+ var txt = ctrl as UcDictionary;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ //鑷畾鍗曟嵁绫诲瀷涓嬫媺
+ if (ctrl is UcDictionaryComBox)
+ {
+ var txt = ctrl as UcDictionaryComBox;
+ txt.IsReadly = isEdt;
+ continue;
+ }
+ if (ctrl is SimpleButton)
+ {
+ var txt = ctrl as SimpleButton;
+ if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys")
+ txt.Enabled = true;
+ else
+ txt.Enabled = !isEdt;
+ continue;
+ }
+ }
+ }
+ #endregion
+
+ /// <summary>
+ /// 鍒ゆ柇鎺т欢鍙鐘舵��
+ /// </summary>
+ /// <param name="obj"></param>
+ /// <param name="isEdt"></param>
+ /// <returns></returns>
+ private static bool _isRead(object obj, bool isEdt = false)
+ {
+ ///姘歌繙鏄彧璇荤殑
+ if (obj != null && obj.ToString().ToUpper() == ("readOnly".ToUpper()))
+ {
+ return true;
+ }
+ ///姘歌繙鏄彲鍐欑殑
+ if (obj != null && obj.ToString().ToUpper() == ("readOnly-1".ToUpper()))
+ {
+ return false;
+ }
+ return isEdt;
+ }
+
+
+ /// <summary>
+ /// tab璺宠浆锛�0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�,6淇濆瓨鍚�
+ /// </summary>
+ /// <param name="tabControl"></param>
+ /// <param name="idx">0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�,6淇濆瓨鍚�</param>
+ public static void JumpTab(XtraTabControl tabControl, int action)
+ {
+
+ if (action == 0)
+ {
+ tabControl.TabPages[0].PageEnabled = true;
+ tabControl.TabPages[1].PageEnabled = true;
+ tabControl.SelectedTabPageIndex = 1;
+ return;
+ }
+ if (action == 1)
+ {
+ tabControl.TabPages[0].PageEnabled = true;
+ tabControl.TabPages[1].PageEnabled = true;
+ tabControl.SelectedTabPageIndex = 0;
+ return;
+ }
+ if (action == 2)
+ {
+ tabControl.TabPages[0].PageEnabled = true;
+ tabControl.TabPages[1].PageEnabled = true;
+ tabControl.SelectedTabPageIndex = 0;
+ return;
+ }
+ if (action == 3)
+ {
+ tabControl.TabPages[0].PageEnabled = false;
+ tabControl.TabPages[1].PageEnabled = true;
+ tabControl.SelectedTabPageIndex = 1;
+ return;
+ }
+ if (action == 4)
+ {
+ tabControl.TabPages[0].PageEnabled = false;
+ tabControl.TabPages[1].PageEnabled = true;
+ tabControl.SelectedTabPageIndex = 1;
+ return;
+ }
+ if (action == 5)
+ {
+ tabControl.TabPages[0].PageEnabled = true;
+ tabControl.TabPages[1].PageEnabled = true;
+ tabControl.SelectedTabPageIndex = 1;
+ return;
+ }
+
+ if (action == 6)
+ {
+ tabControl.TabPages[0].PageEnabled = true;
+ tabControl.TabPages[1].PageEnabled = true;
+
+ return;
+ }
+ }
+
+ /// <summary>
+ /// TreeView鑱斿姩閫夋嫨
+ /// </summary>
+ /// <param name="e"></param>
+ public static void TreeViewCheck(TreeViewEventArgs e)
+ {
+ try
+ {
+ if (e.Node.Nodes.Count > 0)
+ foreach (TreeNode tn in e.Node.Nodes)
+ {
+ tn.Checked = e.Node.Checked;
+ foreach (TreeNode x in tn.Nodes)
+ {
+ x.Checked = e.Node.Checked;
+ foreach (TreeNode y in x.Nodes)
+ y.Checked = e.Node.Checked;
+ }
+ }
+
+ if (e.Node.Checked && e.Node.Parent != null &&
+ e.Node.Parent.Nodes.Count > 0)
+ {
+ var currentNode = e.Node;
+ while (currentNode != null)
+ {
+ currentNode.Checked = e.Node.Checked;
+ currentNode = currentNode.Parent;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MsgHelper.ShowError(ex.Message);
+ }
+ }
+
+
+ /// <summary>
+ /// 杞珿uid
+ /// </summary>
+ /// <param name="str"></param>
+ /// <returns></returns>
+ public static Guid ToGuid(string str)
+ {
+ if (string.IsNullOrEmpty(str)) return Guid.Empty;
+ return Guid.Parse(str);
+ }
+ public static decimal ToDecimal(string str)
+ {
+ try
+ {
+ return decimal.Parse(str);
+ }
+ catch (Exception)
+ {
+
+ return 0;
+ }
+ }
+ public static decimal? GetDecimal(string s)
+ {
+ if (string.IsNullOrEmpty(s)) return null;
+ return decimal.Parse(s);
+ }
+
+
+ public static int ToBit(string str)
+ {
+ if (str.ToUpper() == "true".ToUpper())
+ return 1;
+ return 0;
+ }
+
+
+ public static bool ToCheck(string str)
+ {
+ if (str.ToUpper() == "true".ToUpper())
+ return true;
+ if (str.ToUpper() == "1".ToUpper())
+ return true;
+ return false;
+ }
+
+ /// <summary>
+ /// 璇诲彇grid鐨勫綋鍓嶈
+ /// </summary>
+ /// <param name="xtraTabControl1"></param>
+ /// <param name="lbGuid">缂栬緫妗嗕腑鐨勪富閿悕</param>
+ /// <param name="txtName">缂栬緫妗嗕腑鐨勬枃鏈鍚�</param>
+ /// <param name="gridView1"></param>
+ /// <param name="SelectedTabPageIndex"></param>
+ /// <returns></returns>
+ public static (string, string) GetCurrentRow(
+ XtraTabControl xtraTabControl1
+ , Label lbGuid
+ , TextEdit txtName
+ , GridView gridView1
+ , string fileName = ""
+ , int SelectedTabPageIndex = 1)
+ {
+ var _strGuid = "";
+ var _strName = "";
+ if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex &&
+ lbGuid.Text.Length > 10)
+ {
+ _strGuid = lbGuid.Text.Trim();
+ _strName = txtName.Text.Trim();
+ }
+ else
+ {
+ var dr = gridView1.GetFocusedDataRow();
+ if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+ {
+ }
+ else
+ {
+ _strGuid = dr["guid"].ToString();
+ if (string.IsNullOrEmpty(fileName))
+ _strName = dr[1].ToString();
+ else
+ _strName = dr[fileName].ToString();
+ }
+ }
+
+ return (_strGuid, _strName);
+ }
+
+ /// <summary>
+ /// 璇诲彇TreeView鐨勫綋鍓嶈
+ /// </summary>
+ /// <param name="xtraTabControl1"></param>
+ /// <param name="lbGuid"></param>
+ /// <param name="txtName"></param>
+ /// <param name="tlMenu"></param>
+ /// <param name="SelectedTabPageIndex"></param>
+ /// <returns></returns>
+ public static (string, string) GetCurrentRow(
+ XtraTabControl xtraTabControl1
+ , Label lbGuid
+ , TextEdit txtName
+ , TreeView tlMenu
+ , int SelectedTabPageIndex = 1)
+ {
+ var _strGuid = "";
+ var _strName = "";
+ if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex &&
+ lbGuid.Text.Length > 10)
+ {
+ _strGuid = lbGuid.Text.Trim();
+ _strName = txtName.Text.Trim();
+ }
+ else
+ {
+ var clickedNode = tlMenu.SelectedNode;
+ if (clickedNode != null)
+ {
+ _strGuid = clickedNode.Name;
+ _strName = clickedNode.Text.Trim();
+ }
+ }
+
+ return (_strGuid, _strName);
+ }
+
+ /// <summary>
+ /// 璇诲彇TreeList鐨勫綋鍓嶈
+ /// </summary>
+ /// <param name="xtraTabControl1"></param>
+ /// <param name="lbGuid"></param>
+ /// <param name="txtName"></param>
+ /// <param name="tlMenu"></param>
+ /// <param name="SelectedTabPageIndex"></param>
+ /// <returns></returns>
+ public static (string, string) GetCurrentRow(
+ XtraTabControl xtraTabControl1
+ , Label lbGuid
+ , TextEdit txtName
+ , TreeList tlMenu
+ , int SelectedTabPageIndex = 1)
+ {
+ var _strGuid = "";
+ var _strName = "";
+ if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex &&
+ lbGuid.Text.Length > 10)
+ {
+ _strGuid = lbGuid.Text.Trim();
+ _strName = txtName.Text.Trim();
+ }
+ else
+ {
+ _strGuid = tlMenu.FocusedNode.GetValue("guid").ToString();
+ _strName = tlMenu.FocusedNode.GetValue(0).ToString();
+ }
+
+ return (_strGuid, _strName);
+ }
+
+ /// <summary>
+ /// 璇诲彇GridView鍙屽嚮鐨勪富閿�
+ /// </summary>
+ /// <param name="gridView1"></param>
+ /// <param name="e"></param>
+ /// <param name="colName"></param>
+ /// <returns></returns>
+ public static string GetCurrentDoubleRow(GridView gridView1
+ , MouseEventArgs e
+ , string colName)
+ {
+ var info = gridView1.CalcHitInfo(e.Location);
+ if (info.InRow)
+ {
+ var view = info.View;
+ if (view != null)
+ {
+ var row = view.GetDataRow(info.RowHandle);
+ if (row != null)
+ {
+ var rowGuid = row[colName].ToString();
+ return rowGuid;
+ }
+ }
+ }
+ return "";
+ }
+
+
+ /// <summary>
+ /// 璇诲彇GridView鍙屽嚮鐨勪富閿�
+ /// </summary>
+ /// <param name="gridView1"></param>
+ /// <param name="e"></param>
+ /// <param name="colName"></param>
+ /// <returns></returns>
+ public static string GetCurrentDoubleRow(TreeList tlMenu
+ , MouseEventArgs e
+ , string colName)
+ {
+ var info = tlMenu.CalcHitInfo(e.Location);
+ if (info.Node != null)
+ {
+ var clickedNode = tlMenu.FocusedNode;
+ if (clickedNode.FirstNode == null)
+ {
+ var rowGuid = clickedNode.GetValue(colName).ToString();
+ return rowGuid;
+ }
+ }
+ return "";
+ }
+
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="s"></param>
+ /// <param name="btnChkIco"></param>
+ /// <param name="fm"></param>
+ /// <param name="fileName">瀵瑰簲鐨勫鏍稿瓧娈靛悕绉�</param>
+ /// <param name="icoName"></param>
+ public static void SetCheckIco(object s, PictureBox btnChkIco, Form fm, string fileName = "checkStatus", string icoName = "")
+ {
+ GridView dgv = s as GridView;
+ if (dgv != null)
+ {
+ if (dgv.GetSelectedRows() != null && dgv.GetSelectedRows().Count() > 0)
+ {
+ var selectedRow = dgv.GetSelectedRows()[0]; // 鑾峰彇绗竴涓�変腑琛岀殑绱㈠紩
+ if (selectedRow >= 0)
+ {
+ var checkStatus = dgv.GetRowCellValue(selectedRow, fileName).ToString(); // 鑾峰彇鎸囧畾鍒楃殑鍊�
+ btnChkIco.Text = checkStatus;
+ btnChkIco.Visible = true;
+ if (checkStatus == "1" || checkStatus.ToUpper() == true.ToString().ToUpper() || checkStatus == "宸插鏍�")
+ {
+ btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check;
+ btnChkIco.Tag = "宸插鏍�";
+ }
+ else
+ {
+ btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck;
+ btnChkIco.Tag = "鏈鏍�";
+ }
+ btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸
+ btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 25); // 璺濈椤堕儴10鍍忕礌
+ }
+ }
+ }
+ }
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="gridView1"></param>
+ /// <param name="zdChk">chk瀛楁</param>
+ /// <param name="zdChkUser">chk user</param>
+ /// <param name="zdCkDate">chk date</param>
+ /// <param name="btnChkIco"></param>
+ /// <param name="fm">褰撳墠绐椾綋</param>
+ /// <param name="fileName">1涓哄鏍革紝0涓哄弽瀹℃牳</param>
+ /// <param name="icoName"></param>
+ public static void SetCheckIco(GridView gridView1, string zdChk, string zdChkUser, string zdCkDate, PictureBox btnChkIco, Form fm, string fileName, string icoName = "")
+ {
+ btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸
+ btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 璺濈椤堕儴10鍍忕礌
+ if (gridView1 == null)
+ {
+ btnChkIco.Visible = true;
+ if (fileName == "1")
+ {
+ btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check;
+ btnChkIco.Tag = "宸插鏍�";
+ }
+ else
+ {
+ btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck;
+ btnChkIco.Tag = "鏈鏍�";
+ }
+ return;
+ }
+ if (fileName == "1" || fileName.ToUpper() == true.ToString().ToUpper())
+ {
+ btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check;
+ btnChkIco.Tag = "宸插鏍�";
+ if (!string.IsNullOrEmpty(zdChkUser))
+ gridView1.SetFocusedRowCellValue(zdChkUser, "宸插鏍�");
+ if (!string.IsNullOrEmpty(zdCkDate))
+ gridView1.SetFocusedRowCellValue(zdCkDate, DateTime.Now.ToString());
+ if (!string.IsNullOrEmpty(zdChk))
+ gridView1.SetFocusedRowCellValue(zdChk, true);
+ }
+ else
+ {
+ btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck;
+ btnChkIco.Tag = "鏈鏍�";
+ if (!string.IsNullOrEmpty(zdChkUser))
+ gridView1.SetFocusedRowCellValue(zdChkUser, "");
+ if (!string.IsNullOrEmpty(zdCkDate))
+ gridView1.SetFocusedRowCellValue(zdCkDate, "");
+ if (!string.IsNullOrEmpty(zdChk))
+ gridView1.SetFocusedRowCellValue(zdChk, false);
+ }
+
+ }
+
+ #region 璁剧疆鎼滅储
+
+ public static FilterEntity getFilterEntityWord(string id, string idDec, string val, string type)
+ {
+ switch (type)
+ {
+ case "Bit绫诲瀷":
+ string _val = (val.ToUpper() == "true".ToUpper() ? "1" : "0");
+ return new FilterEntity(id, idDec + ")", "=", "绛変簬)", "" + _val + "", type);
+ break;
+ default:
+ return new FilterEntity(id, idDec + ")", "like", "鍖呭惈)", "%" + val + "%", type);
+ break;
+ }
+
+ }
+ public static List<FilterEntity> GetDilter(GridColumnCollection Columns, GridView gridView1 = null)
+ {
+ List<FilterEntity> fiList = new List<FilterEntity>();
+ if (gridView1 != null)
+ {
+ bool b = gridView1.ActiveFilterEnabled;
+ if (b == false)
+ return fiList;
+ }
+ foreach (DevExpress.XtraGrid.Columns.GridColumn col in Columns)
+ {
+ ColumnFilterInfo filter = col.FilterInfo;
+ if (string.IsNullOrEmpty(filter.FilterString))
+ continue;
+ string _filterString = filter.FilterString.Replace("Contains", "").Replace("(", "").Replace(")", "").Replace("'", "").Replace("'", "");
+ string[] ddd = _filterString.Split(',');
+ string _val = "";
+ if (ddd.Length > 1)
+ {
+ _val = ddd[1].Trim();
+ }
+ else
+ {
+ ddd = _filterString.Split('=');
+ _val = ddd[1].Trim();
+ }
+ fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), _val, col.UnboundExpression));
+ }
+ return fiList;
+ }
+
+ /// <summary>
+ /// 鏍规嵁杩囨护鍣紝璇诲彇鏌ヨ鏉′欢,org琛ㄤ负缁勭粐
+ /// </summary>
+ /// <param name="_filterList"></param>
+ /// <returns></returns>
+ public static string GetSearchWhere(List<FilterEntity> _filterList)
+ {
+ var _sbSqlWhere = new StringBuilder();
+ foreach (var itm in _filterList)
+ {
+ if (itm.fileId.ToUpper().Contains("org".ToUpper()))
+ {
+ if (IsNumeric(itm.fileValue.Replace("%", "")))
+ _sbSqlWhere.Append(" and org.FNumber " + itm.fileOper + "'" + itm.fileValue + "'");
+ else
+ {
+ _sbSqlWhere.Append(" and org.NAME " + itm.fileOper + "'" + itm.fileValue.Trim() + "'");
+ }
+ }
+ else
+ {
+ switch (itm.fileType)
+ {
+ case "鏃堕棿绫诲瀷":
+ _sbSqlWhere.Append(" and CONVERT(nvarchar(30)," + itm.fileId + ",23)" + itm.fileOper + "'" + itm.fileValue + "'");
+ break;
+ case "Bit绫诲瀷":
+ _sbSqlWhere.Append(" and isnull(" + itm.fileId + ",0) =" + itm.fileValue + "");
+ break;
+ default:
+ _sbSqlWhere.Append(" and " + itm.fileId + " " + itm.fileOper + " '" + itm.fileValue + "'");
+ break;
+ }
+ }
+ }
+ return _sbSqlWhere.ToString();
+ }
+ public delegate void DelegateGetModel(string guid);
+ public delegate void DelegateGetList(int currentPage);
+ /// <summary>
+ /// 璁剧疆涓昏〃鐨勬牱寮�
+ /// </summary>
+ /// <param name="gridView1">gridview</param>
+ /// <param name="picCheckBox">鍥炬爣鎸夐挳</param>
+ /// <param name="fm"></param>
+ /// <param name="fileName">瀛楁</param>
+ /// <param name="icoName">鍥炬爣璺緞</param>
+ /// <param name="action"></param>
+ public static void SetGridViewParameter(GridView gridView1, PictureBox picCheckBox = null, Form fm = null, string fileName = "checkStatus", string icoName = "", DelegateGetModel action = null, DevExpress.Utils.ToolTipController tips = null, bool isPostSearch = true)
+ {
+ gridView1.PopupMenuShowing += (s, e) =>
+ {
+ if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column)
+ {
+ GridViewColumnMenu menu = e.Menu as GridViewColumnMenu;
+ if (menu != null)
+ {
+ string[] ary = { "Column Chooser", "Hide This Column", "Clear All Sorting", "Clear Sorting", "Sort Descending", "Sort Ascending", "Best Fit (all columns)" };
+ for (int i = menu.Items.Count - 1; i >= 0; i--)
+ {
+ string _caption = menu.Items[i].Caption;
+ if (!ary.Contains(_caption))
+ {
+ menu.Items.Remove(menu.Items[i]);
+ }
+ }
+ }
+ }
+ };
+ gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀
+
+ if (isPostSearch == true)
+ {
+ gridView1.OptionsView.ShowGroupPanel = false;
+ gridView1.OptionsCustomization.AllowGroup = false;
+ gridView1.OptionsFilter.AllowAutoFilterConditionChange = DevExpress.Utils.DefaultBoolean.False;
+ gridView1.OptionsView.ShowAutoFilterRow = true;
+ gridView1.OptionsFilter.AllowFilterEditor = false;
+ gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False;
+ gridView1.OptionsFilter.AllowColumnMRUFilterList = false;
+ gridView1.OptionsFilter.AllowMRUFilterList = false;
+ gridView1.OptionsCustomization.AllowFilter = false;
+ gridView1.OptionsFind.ShowSearchNavButtons = false;
+ gridView1.OptionsView.ShowGroupPanel = false;
+ //鏄惁鏄剧ず搴曢儴鐨勮繃婊ゆ潯
+ // gridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;
+ }
+
+ // gridView1.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText;
+ foreach (GridColumn column in gridView1.Columns)
+ {
+ column.MinWidth = 10;
+ column.MaxWidth = 0;
+
+ column.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
+ column.OptionsColumn.AllowEdit = true;
+ // column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains;
+ column.OptionsFilter.AutoFilterCondition = DevExpress.XtraGrid.Columns.AutoFilterCondition.Contains;
+ column.OptionsFilter.ImmediateUpdateAutoFilter = false;
+ if (column.Tag == null || column.Tag.ToString().EndsWith("edit"))
+ column.OptionsColumn.ReadOnly = false;
+ else
+ column.OptionsColumn.ReadOnly = true;
+
+ //if(isPostSearch==false)
+ // column.OptionsColumn.ReadOnly = true;
+
+ if (isPostSearch == true)
+ {
+ if (column.Tag == null || column.Tag.ToString().Length <= 0)
+ column.OptionsFilter.AllowAutoFilter = false;
+ }
+ }
+
+ gridView1.IndicatorWidth = 60;
+ gridView1.CustomDrawRowIndicator += (s, e) =>
+ {
+ if (e.Info.IsRowIndicator && e.RowHandle >= 0)
+ e.Info.DisplayText = (e.RowHandle + 1).ToString();
+ };
+ gridView1.CustomDrawEmptyForeground += (s, e) =>
+ {
+ var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+ var f = new Font("寰蒋闆呴粦", 16);
+ var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+ e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+ e.Graphics.DrawString(str, f, Brushes.Gray, r);
+ };
+ if (picCheckBox != null)
+ {
+ gridView1.FocusedRowChanged += (s, e) =>
+ {
+ UtilityHelper.SetCheckIco(s, picCheckBox, fm, fileName, icoName);
+ };
+ }
+ if (action != null)
+ {
+ gridView1.ShownEditor += (sender, e) =>
+ {
+ DevExpress.XtraGrid.Views.Grid.GridView view = sender as DevExpress.XtraGrid.Views.Grid.GridView;
+ view.ActiveEditor.DoubleClick += (ssssss, eeeeeee) =>
+ {
+ int _handle = gridView1.FocusedRowHandle;
+ if (_handle == -1)
+ return;
+ DataRow row = gridView1.GetDataRow(_handle);
+ if (row == null)
+ return;
+ string _guid = row["guid"].ToString();
+ if (string.IsNullOrEmpty(_guid))
+ return;
+ action(_guid);
+ };
+ if (view.ActiveEditor is TextEdit)
+ view.ActiveEditor.MouseUp += ActiveEditor_MouseUp;
+ };
+ }
+ gridView1.RowStyle += (s, e) =>
+ {
+ //榛樿閫変腑琛屼笉鍙樿壊
+ gridView1.OptionsSelection.EnableAppearanceFocusedRow = false;
+ //榛樿閫変腑鍗曞厓鏍间笉鍙樿壊
+ gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
+ if (e.RowHandle >= 0)
+ {
+ DataRow row = gridView1.GetDataRow(e.RowHandle);
+ if (row == null)
+ return;
+ //杩欐槸danger鑹�
+ bool columnExists = row.Table.Columns.Contains("isRed");
+ if (columnExists == true)
+ {
+ string _isRed = row["isRed"].ToString();
+ if (_isRed == "1")
+ {
+ e.Appearance.ForeColor = Color.Tomato;
+ }
+ }
+ //杩欐槸success鑹�
+ columnExists = row.Table.Columns.Contains("isSuccess");
+ if (columnExists == true)
+ {
+ string _isRed = row["isSuccess"].ToString();
+ if (_isRed == "1")
+ {
+ e.Appearance.ForeColor = Color.FromArgb(128, 255, 128);
+ }
+ }
+ // 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹�
+ if (gridView1.GetRow(e.RowHandle) == gridView1.GetFocusedRow())
+ {
+ e.Appearance.BackColor = Color.Azure;
+ e.Appearance.BackColor2 = Color.LightSkyBlue;
+ }
+ //else if (gridView1.IsRowHotTracked(e.RowHandle))
+ //{
+ // // 璁剧疆榧犳爣鎮仠琛岀殑鑳屾櫙鑹�
+ // e.Appearance.BackColor = Color.LightBlue;
+ // e.Appearance.BackColor2 = Color.LightBlue;
+ //}
+ }
+ };
+ if (tips != null)
+ {
+ tips.Appearance.BackColor = Color.LightBlue; // 璁剧疆鑳屾櫙棰滆壊
+ tips.Appearance.ForeColor = Color.Black; // 璁剧疆鍓嶆櫙鑹诧紙鏂囧瓧棰滆壊锛�
+ gridView1.MouseMove += (s, e) =>
+ {
+ try
+ {
+ GridHitInfo hi = gridView1.CalcHitInfo(new Point(e.X, e.Y));
+ if (hi.InRowCell)
+ {
+ int cuRowHandle = hi.RowHandle;
+ if (cuRowHandle < 0)
+ return;
+ DataRow curRow = gridView1.GetDataRow(cuRowHandle);
+ var column = hi.Column;
+ string showTxt = curRow[column.FieldName].ToString();
+ ToolTipControllerShowEventArgs aa = new ToolTipControllerShowEventArgs();
+ aa.AllowHtmlText = DefaultBoolean.True;
+ aa.Title = column.Caption; //HTML, 绮椾綋
+ aa.ToolTip = showTxt; //鏂
+ aa.ShowBeak = true;
+ aa.Rounded = true; ////鍦嗚
+ aa.RoundRadius = 7; //鍦嗚鐜�
+ // aa.ToolTipType = ToolTipType.SuperTip; //瓒呯骇鏍峰紡锛屽彲澶氳鎴栨樉绀哄浘鏍�
+ aa.ToolTipType = ToolTipType.Standard;//鏍囧噯鏍峰紡锛屽彲鏄剧ず楦熷槾銆�
+ aa.IconType = ToolTipIconType.Information; //娑堟伅鍥炬爣
+ aa.IconSize = ToolTipIconSize.Small; //澶у浘鏍�
+ tips.ShowHint(aa);
+ }
+ else
+ tips.HideHint();
+ }
+ catch (Exception exception)
+ {
+ }
+ };
+ }
+ }
+ private static void ActiveEditor_MouseUp(object sender, MouseEventArgs e)
+ {
+ BaseEdit edit = sender as BaseEdit;
+ edit.MouseUp -= ActiveEditor_MouseUp;
+ edit.SelectAll();
+ }
+
+ public static void SetGridLayout(GridView gridView1)
+ {
+ foreach (GridColumn column in gridView1.Columns)
+ {
+ if (column.Width > 500)
+ column.Width = 500;
+ }
+ }
+
+ /// <summary>
+ /// 璁剧疆閫夐」鍗�
+ /// </summary>
+ /// <param name="gridView1"></param>
+ /// <param name="xtraTabControl1"></param>
+ /// <param name="pageBar1"></param>
+ /// <param name="action"></param>
+ /// <param name="page"></param>
+ public static void SetTabParameter(GridView gridView1, DevExpress.XtraTab.XtraTabControl xtraTabControl1, UcPageBar pageBar1, DelegateGetModel action = null, DelegateGetList page = null, Label lbGuid = null)
+ {
+ xtraTabControl1.SelectedPageChanged += (s, e) =>
+ {
+ if (xtraTabControl1.SelectedTabPageIndex == 1)
+ {
+ int _handle = gridView1.FocusedRowHandle;
+ bool _bl = xtraTabControl1.TabPages[0].PageEnabled;
+ if (_bl == false) { return; };
+ if (_handle < 0)
+ {
+ xtraTabControl1.SelectedTabPageIndex = -1;
+ Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犺鏄剧ず鐨勮锛�" + _handle.ToString() + "tag" + xtraTabControl1.SelectedTabPageIndex.ToString());
+ return;
+ }
+ DataRow row = gridView1.GetDataRow(_handle);
+ if (row == null)
+ {
+ xtraTabControl1.SelectedTabPageIndex = -1;
+ Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犺鏄剧ず鐨勮锛�" + _handle.ToString());
+ return;
+ }
+ string _guid = row["guid"].ToString();
+ if (string.IsNullOrEmpty(_guid))
+ {
+ xtraTabControl1.SelectedTabPageIndex = -1;
+ Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犺鏄剧ず鐨勮锛�" + _handle.ToString());
+ return;
+ }
+ action(_guid);
+ }
+ if (pageBar1 != null && xtraTabControl1.SelectedTabPageIndex == 0)
+ {
+ page(pageBar1.CurrentPage);
+ int rowHandle = 0;
+ rowHandle = gridView1.LocateByValue(1, gridView1.Columns["guid"], lbGuid.Text);
+ if (rowHandle < 0)
+ rowHandle = 0;
+ gridView1.FocusedRowHandle = rowHandle;
+ }
+ };
+ }
+
+ /// <summary>
+ /// 璁剧疆鏄庣粏grid鏍峰紡
+ /// </summary>
+ /// <param name="gridView1"></param>
+ /// <param name="btnChkIco"></param>
+ /// <param name="fm"></param>
+ /// <param name="fileName"></param>
+ /// <param name="icoName"></param>
+ public static void SetGridViewParameterMx(GridView gridView1)
+ {
+ gridView1.PopupMenuShowing += (s, e) =>
+ {
+ if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column)
+ {
+ GridViewColumnMenu menu = e.Menu as GridViewColumnMenu;
+ if (menu != null)
+ {
+ string[] ary = { "Column Chooser", "Hide This Column", "Clear All Sorting", "Clear Sorting", "Sort Descending", "Sort Ascending", "Best Fit (all columns)" };
+ for (int i = menu.Items.Count - 1; i >= 0; i--)
+ {
+ string _caption = menu.Items[i].Caption;
+ if (!ary.Contains(_caption))
+ {
+ menu.Items.Remove(menu.Items[i]);
+ }
+ }
+ }
+ }
+ };
+ gridView1.OptionsView.ShowGroupPanel = false;
+ gridView1.OptionsCustomization.AllowGroup = false;
+
+ // gridView1.OptionsView.Alignment = DataGridViewContentAlignment.MiddleLeft;
+ foreach (GridColumn column in gridView1.Columns)
+ {
+ // column.DefaultCellStyle.Alignment = true;
+ column.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
+ column.MinWidth = 10;
+ column.MaxWidth = 0;
+ }
+ gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀
+ gridView1.OptionsFilter.AllowFilterEditor = false;
+ gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False;
+ gridView1.OptionsCustomization.AllowFilter = false;
+ gridView1.OptionsFind.ShowSearchNavButtons = false;
+ gridView1.OptionsView.ShowAutoFilterRow = false;
+ gridView1.OptionsView.ShowGroupPanel = false;
+ gridView1.IndicatorWidth = 60;
+ gridView1.CustomDrawRowIndicator += (s, e) =>
+ {
+ if (e.Info.IsRowIndicator && e.RowHandle >= 0)
+ e.Info.DisplayText = (e.RowHandle + 1).ToString();
+ };
+ gridView1.CustomDrawEmptyForeground += (s, e) =>
+ {
+ var str = "鏆傛棤鏄庣粏鏁版嵁!";
+ var f = new Font("寰蒋闆呴粦", 16);
+ var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+ e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+ e.Graphics.DrawString(str, f, Brushes.Gray, r);
+ };
+ gridView1.ValidatingEditor += (sender, e) =>
+ {
+ //yz_quantity_0
+ GridView view = sender as GridView;
+ if (view.FocusedColumn.Tag != null && view.FocusedColumn.Tag.ToString().StartsWith("yz_"))
+ {
+ string[] _ary = view.FocusedColumn.Tag.ToString().Split('_');
+ if (_ary.Length > 2)
+ {
+ if (_ary[2] == "0")
+ {
+ double price = 0; if (!Double.TryParse(e.Value as String, out price))
+ { e.Valid = false; e.ErrorText = "璇疯緭鍏ユ纭殑鏁板瓧."; }
+ return;
+ }
+ }
+ }
+ };
+
+ //gridView1.RowStyle += (s, e) =>
+ //{
+ // //榛樿閫変腑琛屼笉鍙樿壊
+ // gridView1.OptionsSelection.EnableAppearanceFocusedRow = false;
+ // //榛樿閫変腑鍗曞厓鏍间笉鍙樿壊
+ // gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
+ // if (e.RowHandle >= 0)
+ // {
+ // DataRow row = gridView1.GetDataRow(e.RowHandle);
+ // if (row == null)
+ // return;
+ // //杩欐槸danger鑹�
+ // bool columnExists = row.Table.Columns.Contains("isRed");
+ // if (columnExists == true)
+ // {
+ // string _isRed = row["isRed"].ToString();
+ // if (_isRed == "1")
+ // {
+ // e.Appearance.ForeColor = Color.Tomato;
+ // }
+ // }
+ // //杩欐槸success鑹�
+ // columnExists = row.Table.Columns.Contains("isSuccess");
+ // if (columnExists == true)
+ // {
+ // string _isRed = row["isSuccess"].ToString();
+ // if (_isRed == "1")
+ // {
+ // e.Appearance.ForeColor = Color.FromArgb(128, 255, 128);
+ // }
+ // }
+ // // 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹�
+ // if (gridView1.GetRow(e.RowHandle) == gridView1.GetFocusedRow())
+ // {
+ // e.Appearance.BackColor = Color.Azure;
+ // e.Appearance.BackColor2 = Color.LightSkyBlue;
+ // }
+ // //else if (gridView1.IsRowHotTracked(e.RowHandle))
+ // //{
+ // // // 璁剧疆榧犳爣鎮仠琛岀殑鑳屾櫙鑹�
+ // // e.Appearance.BackColor = Color.LightBlue;
+ // // e.Appearance.BackColor2 = Color.LightBlue;
+ // //}
+ // }
+ //};
+ }
+
+ #endregion
+ /// <summary>
+ /// 鍒ゆ柇鏄笉鏄竴涓湁鏁堢殑鏁板��
+ /// </summary>
+ /// <param name="str"></param>
+ /// <returns></returns>
+ public static bool IsNumeric(string str)
+ {
+ Regex regex = new Regex("^[0-9]+$");
+ return regex.IsMatch(str);
+ }
+ /// <summary>
+ /// 鍒ゆ柇鏄笉鏄竴涓湁鏁堟灉鐨刣ecimal鏁板��
+ /// </summary>
+ /// <param name="str"></param>
+ /// <returns></returns>
+ public static bool IsNumeric2(string str)
+ {
+ string input = str;
+ decimal number;
+ bool isNumeric = decimal.TryParse(input, out number);
+ return isNumeric;
+ }
+ /// <summary>
+ /// 鍒ゆ柇鏄笉鏄竴涓湁鏁堢殑姝f暣鏁�
+ /// </summary>
+ /// <param name="str"></param>
+ /// <returns></returns>
+ public static bool IsNumeric3(string str)
+ {
+ string input = str;
+ decimal number;
+ bool isNumeric = decimal.TryParse(input, out number);
+ if (isNumeric && number > 0)
+ return true;
+ return false;
+ }
+
+ /// <summary>
+ /// 鍒ゆ柇鏄笉鏄竴涓湁鏁堢殑姝f暣鏁�
+ /// </summary>
+ /// <param name="str"></param>
+ /// <returns></returns>
+ public static bool IsNumeric3(string str, string str2)
+ {
+ decimal d1 = 0;
+ decimal d2 = 0;
+ if (!string.IsNullOrEmpty(str))
+ {
+ d1 = decimal.Parse(str);
+ }
+ if (!string.IsNullOrEmpty(str2))
+ {
+ d2 = decimal.Parse(str2);
+ }
+ return (d1 + d2) > 0 ? true : false;
+ }
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="box1">txt_psnQty_1:姣忓紶鏉$爜鏁伴噺</param>
+ /// <param name="box2">txt_iCount_1:鏁村紶鏁板��</param>
+ /// <param name="sum">txt_kQty:鍙墦鍗伴噺</param>
+ /// <param name="rd"></param>
+ /// <param name="txt_yuliang">txt_yuliang:浣欓噺</param>
+ public static void PrintJiSuan(DevExpress.XtraEditors.TextEdit box1, DevExpress.XtraEditors.TextEdit box2, string sum, DevExpress.XtraEditors.RadioGroup rd, DevExpress.XtraEditors.TextEdit txt_yuliang = null)
+ {
+ if (rd.SelectedIndex == 2)
+ return;
+ try
+ {
+ string t1 = box1.Text.Trim();
+ string t2 = box2.Text.Trim();
+ if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric2(t1))
+ return;
+ if (Gs.DevApp.ToolBox.UtilityHelper.ToDecimal(t1) <= 0)
+ return;
+ decimal? dc = Gs.DevApp.ToolBox.UtilityHelper.GetDecimal(sum);
+ decimal? dc1 = Gs.DevApp.ToolBox.UtilityHelper.GetDecimal(t1);
+ decimal dividend = decimal.Parse(sum); // 琚櫎鏁�
+ decimal divisor = decimal.Parse(t1); // 闄ゆ暟
+ decimal shang = dividend / divisor;
+
+ decimal integerPart = Math.Truncate(shang); // 鑾峰彇鏁存暟閮ㄥ垎
+ decimal decimalPart = dividend - divisor * integerPart; // 鑾峰彇灏忔暟閮ㄥ垎
+
+ //decimal quotient = dividend / divisor; // 鏁存暟閮ㄥ垎
+ //decimal remainder = dividend % divisor; // 浣欐暟
+ box2.Text = integerPart.ToString();
+ if (rd.SelectedIndex == 0)
+ txt_yuliang.Text = decimalPart.ToString();
+ }
+ catch (Exception ex)
+ {
+ Gs.DevApp.ToolBox.MsgHelper.ShowError("杈撳叆鏁版嵁閿欒:" + ex.Message);
+ }
+ }
+ public static void PrintAuto(DevExpress.XtraEditors.TextEdit txt_psnQty_1, DevExpress.XtraEditors.TextEdit txt_iCount_1, DevExpress.XtraEditors.RadioGroup radOut, DevExpress.XtraEditors.TextEdit txt_yuliang = null)
+ {
+ txt_psnQty_1.Text = "";
+ txt_iCount_1.Text = "";
+ txt_yuliang.Text = "";
+ if (radOut.SelectedIndex == 2)
+ txt_iCount_1.ReadOnly = false;
+ else
+ txt_iCount_1.ReadOnly = true;
+ }
+
+ #region 缁樺埗琛ㄥご鍏ㄩ�夊嬀閫夋
+ /// <summary>
+ /// 缁樺埗琛ㄥご鍏ㄩ�夊嬀閫夋
+ /// </summary>
+ // private Rectangle checkBoxColumnHeaderRect = Rectangle.Empty;
+ // private GridColumn checkBoxColumn = null;
+ public static void CustomDrawColumnHeader(object sender, ColumnHeaderCustomDrawEventArgs e)
+ {
+
+ Rectangle checkBoxColumnHeaderRect = new Rectangle(51, 1, 37, 57);
+ if (e.Column != null && e.Column.AbsoluteIndex == 0)
+ {
+ //X = 51 Y = 1 Width = 37 Height = 57
+ e.Column.Caption = ".";
+ checkBoxColumnHeaderRect = e.Bounds;
+ // checkBoxColumn = e.Column;
+ //椤绘妸鍒楀ご鏍囬璁剧疆涓虹┖
+ e.Painter.DrawObject(e.Info);
+ //鍦ㄥ垪澶翠腑蹇冩樉绀哄閫夋
+ int x = e.Bounds.X + (int)((e.Bounds.Width - CheckBoxRenderer.GetGlyphSize(e.Graphics, CheckBoxState.UncheckedNormal).Width) * 0.5);
+ int y = e.Bounds.Y + (int)((e.Bounds.Height - CheckBoxRenderer.GetGlyphSize(e.Graphics, CheckBoxState.UncheckedNormal).Height) * 0.5);
+ Point location = new Point(x, y);
+ CheckBoxState checkBoxState;
+ if (e.Column.Tag != null && e.Column.Tag.ToString() == "1")
+ checkBoxState = CheckBoxState.CheckedPressed;
+ else
+ checkBoxState = CheckBoxState.UncheckedNormal;
+ CheckBoxRenderer.DrawCheckBox(e.Graphics, location, checkBoxState);
+ e.Handled = true;
+ }
+ }
+
+ public static void CustomMouseUp(object sender, MouseEventArgs e, DevExpress.XtraGrid.GridControl gcMain, DevExpress.XtraGrid.Views.Grid.GridView gridView1)
+ {
+ GridColumn checkBoxColumn = gridView1.Columns[0];
+ Rectangle checkBoxColumnHeaderRect = new Rectangle(51, 1, 37, 57);
+ if (checkBoxColumnHeaderRect != Rectangle.Empty)
+ {
+ if (e.X > checkBoxColumnHeaderRect.X && e.X < (checkBoxColumnHeaderRect.X + checkBoxColumnHeaderRect.Width) && e.Y > checkBoxColumnHeaderRect.Y && e.Y < (checkBoxColumnHeaderRect.Y + checkBoxColumnHeaderRect.Height))
+ {
+ DataTable _Table = (DataTable)gcMain.DataSource;
+ if (checkBoxColumn.Tag != null && checkBoxColumn.Tag.ToString() == "1")
+ {
+ checkBoxColumn.Tag = "0";
+ foreach (DataRow row in _Table.Rows)
+ {
+ row["chkInt"] = false;
+ }
+ }
+ else
+ {
+ checkBoxColumn.Tag = "1";
+ foreach (DataRow row in _Table.Rows)
+ {
+ row["chkInt"] = true;
+ }
+ }
+ gcMain.BindingContext = new BindingContext();
+ gcMain.DataSource = _Table;
+ gcMain.ForceInitialize();
+ gridView1.CloseEditor();
+ gridView1.PostEditor();
+ gridView1.UpdateCurrentRow();
+ gridView1.InvalidateColumnHeader(checkBoxColumn);
+ }
+ }
+ }
+ #endregion
+ }
+
+ /// <summary>
+ /// 涓嬫媺妗嗘潯鐩被
+ /// </summary>
+ public class CboItemEntity
+ {
+ public CboItemEntity()
+ {
+ }
+
+ public CboItemEntity(string val, string text, string fType = "")
+ {
+ Text = text;
+ Value = val;
+ FType = fType;
+ }
+
+ /// <summary>
+ /// 鏄剧ず鍊�
+ /// </summary>
+ public object Text { get; set; } = 0;
+
+ /// <summary>
+ /// 瀵硅薄鍊�
+ /// </summary>
+ public object Value { get; set; } = "";
+
+ public object FType { get; set; } = "";
+
+ public override string ToString()
+ {
+ return Text.ToString();
+ }
+
+ }
+
+ /// <summary>
+ /// 鏌ヨ妗�
+ /// </summary>
+ public class FilterEntity
+ {
+ /// <summary>
+ /// </summary>
+ /// <param name="id">瀛楁鍚�</param>
+ /// <param name="idDec">瀛楁鍚嶅娉�</param>
+ /// <param name="oper">鎿嶄綔绗�</param>
+ /// <param name="operDec">鎿嶄綔绗﹀娉�</param>
+ /// <param name="val"></param>
+ public FilterEntity(string id, string idDec, string oper,
+ string operDec, string val, string type)
+ {
+ fileId = id;
+ fileIdDec = idDec;
+ fileOper = oper;
+ fileOperDec = operDec;
+ fileValue = val;
+ fileType = type;
+ }
+
+ public string fileId { get; set; }
+
+ public string fileIdDec { get; set; }
+
+ public string fileOper { get; set; }
+
+ public string fileOperDec { get; set; }
+
+ public string fileValue { get; set; }
+
+ public string fileType { get; set; }
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.3