From 90c199edf9c98a66f0ba3f42577bff797073fce1 Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期日, 13 四月 2025 17:11:12 +0800 Subject: [PATCH] 打印按钮自动计算,选择窗体取消分页 --- DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 812 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 549 insertions(+), 263 deletions(-) diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs index 3ae35d9..44b6ce0 100644 --- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs +++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs @@ -4,6 +4,7 @@ using System.Data; using System.Drawing; using System.IO; +using System.Linq; using System.Net; using System.Net.Cache; using System.Net.Http; @@ -13,11 +14,14 @@ using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Windows.Forms; +using 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; @@ -60,12 +64,19 @@ } } + 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) { - string _caption = "鎷煎懡鍔犺浇涓紝璇风◢鍚�..."; - DevExpress.Utils.WaitDialogForm wdf = new DevExpress.Utils.WaitDialogForm(_caption + meth, "鍙嬫儏鎻愮ず"); - wdf.BackColor = System.Drawing.Color.LightSkyBlue; - wdf.Padding = new Padding(15); + 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); HttpWebRequest request = null; StreamWriter requestStream = null; WebResponse response = null; @@ -83,27 +94,20 @@ request.Timeout = 150000; request.AllowAutoRedirect = false; request.ServicePoint.Expect100Continue = false; - wdf.SetCaption(_caption + "锛�10/100锛�" + meth); HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); request.CachePolicy = noCachePolicy; - wdf.SetCaption(_caption + "锛�20/100锛�" + meth); requestStream = new StreamWriter(request.GetRequestStream()); requestStream.Write(param); requestStream.Close(); - wdf.SetCaption(_caption + "30/100锛�" + meth); response = request.GetResponse(); - wdf.SetCaption(_caption + "锛�40/100锛�"); if (response != null) { - wdf.SetCaption(_caption + "锛�50/100锛�" + meth); var reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); responseStr = reader.ReadToEnd(); //File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr); reader.Close(); - wdf.SetCaption(_caption + "锛�60/100锛�" + meth); } - wdf.SetCaption(_caption + "锛�80/100锛�" + meth); } catch (Exception ex) { @@ -117,7 +121,6 @@ requestStream = null; response = null; } - wdf.SetCaption(_caption + "锛�90/100锛�"); wdf.Close(); return responseStr; } @@ -189,11 +192,7 @@ string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid) ? Guid.NewGuid().ToString() : LoginInfoModel.CurrentUser.LoginUserGuid; - var orgGuid = - string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginOrgGuid) - ? Guid.NewGuid().ToString() - : LoginInfoModel.CurrentUser.LoginOrgGuid; - var token = userGuid + "~" + orgGuid; + var token = userGuid; return token; } @@ -257,6 +256,8 @@ return rto; } + + #region 鎵归噺澶勭悊瀵瑰儚锛屾枃鏈�硷紝鍖呭惈娓呯┖锛岀鐢紝鍚敤涓夌 /// <summary> /// 鏍规嵁瀵硅薄鎵归噺璁剧疆鏂囨湰妗嗙殑鍊� /// </summary> @@ -275,7 +276,6 @@ foreach (GridColumn colmn in gv.Columns) { colmn.OptionsColumn.AllowEdit = true; - if (colmn.Name.ToString().Contains("gvBtnAlawys")) { colmn.Visible = true; @@ -284,6 +284,8 @@ if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui")) { colmn.Visible = !isEdt; + if (colmn.Visible == true) + colmn.VisibleIndex = 99999; } else { @@ -323,6 +325,7 @@ if (cols.Length > 0) { var colType = cols[0]; + if (colType is LookUpEdit) { var txt = colType as LookUpEdit; @@ -363,11 +366,11 @@ txt.ReadOnly = isEdt; continue; } - //鑷畾涔変笅鎷� - if (colType is UcComBox) + if (colType is ButtonEdit) { - var txt = colType as UcComBox; - txt.Val = strVal; + var txt = colType as ButtonEdit; + if (txt != null) + txt.Text = strVal; txt.Enabled = !isEdt; continue; } @@ -385,6 +388,7 @@ txt.ReadOnly = isEdt; continue; } + //鏂囨湰鍩� if (colType is MemoEdit) { var txt = colType as MemoEdit; @@ -411,7 +415,14 @@ 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": @@ -427,8 +438,8 @@ txt.Checked = false; break; } + } - txt.ReadOnly = isEdt; continue; } //鍗曢�� @@ -454,7 +465,6 @@ txt.Enabled = !isEdt; continue; } - //鏃堕棿 if (colType is DateTimePicker) { @@ -479,15 +489,13 @@ txt.Text = strVal; } } + //鑷畾涔変粨搴� if (colType is UcLookCk) { var txt = colType as UcLookCk; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔変緵搴斿晢 @@ -495,10 +503,7 @@ { var txt = colType as UcLookSupplier; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔夌墿鏂� @@ -506,10 +511,7 @@ { var txt = colType as UcLookItems; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾杞﹂棿 @@ -517,10 +519,7 @@ { var txt = colType as UcLookWorkshop; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾浜х嚎 @@ -528,10 +527,7 @@ { var txt = colType as UcLookWorkline; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾鍗曚綅 @@ -539,10 +535,7 @@ { var txt = colType as UcLookUnit; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾瀹㈡埛 @@ -550,10 +543,7 @@ { var txt = colType as UcLookCustomer; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾鍛樺伐 @@ -561,10 +551,7 @@ { var txt = colType as UcLookStaff; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾缁勭粐 @@ -572,10 +559,7 @@ { var txt = colType as UcLookOrg; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾鐢ㄦ埛 @@ -583,10 +567,7 @@ { var txt = colType as UcLookUser; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾鎵撳嵃鏈� @@ -594,21 +575,7 @@ { var txt = colType as UcLookPrint; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; - continue; - } - //鑷畾缂洪櫡绫诲埆 - if (colType is UcLookDefectType) - { - var txt = colType as UcLookDefectType; - txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾閮ㄩ棬 @@ -616,10 +583,7 @@ { var txt = colType as UcLookDepartment; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾daa @@ -627,10 +591,7 @@ { var txt = colType as UcLookDaa; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾濮斿 @@ -638,16 +599,37 @@ { var txt = colType as UcLookWwgd; txt.SetIdOrCode(strVal); - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + 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; 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; } } @@ -739,11 +721,10 @@ txt.ReadOnly = isEdt; continue; } - //鑷畾涔夌殑涓嬫媺 - if (ctrl is UcComBox) + if (ctrl is ButtonEdit) { - var txt = ctrl as UcComBox; - txt.Val = "0"; + var txt = ctrl as ButtonEdit; + txt.Text = ""; txt.Enabled = !isEdt; continue; } @@ -765,7 +746,6 @@ txt.ReadOnly = isEdt; continue; } - //鏃堕棿 if (ctrl is DateTimePicker) { @@ -783,17 +763,20 @@ if (ctrl is CheckEdit) { var txt = ctrl as CheckEdit; - txt.ReadOnly = isEdt; - txt.Checked = false; + 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.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾涔変緵搴斿晢 @@ -801,7 +784,7 @@ { var txt = ctrl as UcLookSupplier; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾涔夌墿鏂� @@ -809,7 +792,7 @@ { var txt = ctrl as UcLookItems; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾杞﹂棿 @@ -817,7 +800,7 @@ { var txt = ctrl as UcLookWorkshop; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾浜х嚎 @@ -825,7 +808,7 @@ { var txt = ctrl as UcLookWorkline; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾鍗曚綅 @@ -833,7 +816,7 @@ { var txt = ctrl as UcLookUnit; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾瀹㈡埛 @@ -841,15 +824,15 @@ { var txt = ctrl as UcLookCustomer; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } - //鑷畾瀹㈡埛 + //鑷畾鍛樺伐 if (ctrl is UcLookStaff) { var txt = ctrl as UcLookStaff; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾缁勭粐 @@ -857,7 +840,7 @@ { var txt = ctrl as UcLookOrg; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾鐢ㄦ埛 @@ -865,7 +848,7 @@ { var txt = ctrl as UcLookUser; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾鎵撳嵃鏈� @@ -873,23 +856,16 @@ { var txt = ctrl as UcLookPrint; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } - //鑷畾缂洪櫡绫诲埆 - if (ctrl is UcLookDefectType) - { - var txt = ctrl as UcLookDefectType; - txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; - continue; - } + //鑷畾閮ㄩ棬 if (ctrl is UcLookDepartment) { var txt = ctrl as UcLookDepartment; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾daa @@ -897,7 +873,7 @@ { var txt = ctrl as UcLookDaa; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + txt.IsReadly = isEdt; continue; } //鑷畾濮斿 @@ -905,7 +881,31 @@ { var txt = ctrl as UcLookWwgd; txt.SetIdOrCode("-1"); - txt.Enabled = !isEdt; + 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 SimpleButton) @@ -916,7 +916,7 @@ } } } - + /// <summary> /// 绂佺敤鎴栧惎鐢ㄥ鍣ㄩ噷闈㈢殑鎺т欢 /// </summary> @@ -950,6 +950,19 @@ } 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) { @@ -980,22 +993,12 @@ txt.ReadOnly = isEdt; continue; } - //涓嬫媺 - if (ctrl is UcComBox) - { - var txt = ctrl as UcComBox; - txt.Val = "0"; - txt.Enabled = !isEdt; - continue; - } - //鏃ユ湡 if (ctrl is DateTimePicker) { ctrl.Enabled = !isEdt; continue; } - //鍗曢�� if (ctrl is CheckBox) { @@ -1013,150 +1016,120 @@ if (ctrl is UcLookCk) { var txt = ctrl as UcLookCk; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔変緵搴斿晢 if (ctrl is UcLookSupplier) { var txt = ctrl as UcLookSupplier; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔夌墿鏂� if (ctrl is UcLookItems) { var txt = ctrl as UcLookItems; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔夎溅闂� if (ctrl is UcLookWorkshop) { var txt = ctrl as UcLookWorkshop; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔変骇绾� if (ctrl is UcLookWorkline) { var txt = ctrl as UcLookWorkline; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔夊崟浣� if (ctrl is UcLookUnit) { var txt = ctrl as UcLookUnit; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔夊鎴� if (ctrl is UcLookCustomer) { var txt = ctrl as UcLookCustomer; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾涔夊憳宸� if (ctrl is UcLookStaff) { var txt = ctrl as UcLookStaff; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾缁勭粐 if (ctrl is UcLookOrg) { var txt = ctrl as UcLookOrg; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾鐢ㄦ埛 if (ctrl is UcLookUser) { var txt = ctrl as UcLookUser; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾鎵撳嵃 if (ctrl is UcLookPrint) { var txt = ctrl as UcLookPrint; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } - //鑷畾缂洪櫡绫诲埆 - if (ctrl is UcLookDefectType) - { - var txt = ctrl as UcLookDefectType; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; - continue; - } + //鑷畾閮ㄩ棬 if (ctrl is UcLookDepartment) { var txt = ctrl as UcLookDepartment; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾daa if (ctrl is UcLookDaa) { var txt = ctrl as UcLookDaa; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + txt.IsReadly = isEdt; continue; } //鑷畾濮斿 if (ctrl is UcLookWwgd) { var txt = ctrl as UcLookWwgd; - if (txt.IsReadly == false) - txt.Enabled = !isEdt; - else - txt.Enabled = false; + 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 SimpleButton) @@ -1167,48 +1140,30 @@ } } } + #endregion - private static bool _isRead(object obj,bool isEdt=false) + + private static bool _isRead(object obj, bool isEdt = false) { ///姘歌繙鏄彧璇荤殑 - if (obj != null && obj.ToString().ToUpper()==("readOnly".ToUpper())) + if (obj != null && obj.ToString().ToUpper() == ("readOnly".ToUpper())) { return true; } ///姘歌繙鏄彲鍐欑殑 - if (obj != null && obj.ToString().ToUpper()==("readOnly-1".ToUpper())) + if (obj != null && obj.ToString().ToUpper() == ("readOnly-1".ToUpper())) { return false; } return isEdt; } - /// <summary> - /// 鍒囨崲閫夐」鍗� - /// </summary> - /// <param name="tabControl">閫夐」鍗″鍣�</param> - /// <param name="idx">浠�0寮�濮嬶紝濡傛灉鏄�999锛屽垯鍏ㄩ儴鍙敤</param> - public static void JumpToTab(XtraTabControl tabControl, int idx) - { - if (idx == 999) - { - for (var i = 0; i < tabControl.TabPages.Count; i++) - tabControl.TabPages[i].PageEnabled = true; - tabControl.SelectedTabPageIndex = tabControl.TabPages.Count - 1; - return; - } - - for (var i = 0; i < tabControl.TabPages.Count; i++) - tabControl.TabPages[i].PageEnabled = false; - tabControl.TabPages[idx].PageEnabled = true; - tabControl.SelectedTabPageIndex = idx; - } /// <summary> - /// tab璺宠浆锛�0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔� + /// tab璺宠浆锛�0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�,6淇濆瓨鍚� /// </summary> /// <param name="tabControl"></param> - /// <param name="idx">0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�</param> + /// <param name="idx">0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�,6淇濆瓨鍚�</param> public static void JumpTab(XtraTabControl tabControl, int action) { @@ -1252,6 +1207,14 @@ 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; } } @@ -1333,7 +1296,23 @@ 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 ToInt(string str) { try @@ -1371,12 +1350,7 @@ return true; return false; } - public string GetIsNullOrEmpty(string str) - { - if (string.IsNullOrEmpty(str.Trim())) - return "{>"; - return str.Trim(); - } + /// <summary> /// 璇诲彇grid鐨勫綋鍓嶈 @@ -1542,7 +1516,6 @@ return rowGuid; } } - return ""; } @@ -1560,7 +1533,7 @@ GridView dgv = s as GridView; if (dgv != null) { - if (dgv.GetSelectedRows() != null) + if (dgv.GetSelectedRows() != null && dgv.GetSelectedRows().Count() > 0) { var selectedRow = dgv.GetSelectedRows()[0]; // 鑾峰彇绗竴涓�変腑琛岀殑绱㈠紩 if (selectedRow >= 0) @@ -1568,7 +1541,7 @@ var checkStatus = dgv.GetRowCellValue(selectedRow, fileName).ToString(); // 鑾峰彇鎸囧畾鍒楃殑鍊� btnChkIco.Text = checkStatus; btnChkIco.Visible = true; - if (checkStatus == "1" || checkStatus.ToUpper() == true.ToString().ToUpper()) + if (checkStatus == "1" || checkStatus.ToUpper() == true.ToString().ToUpper() || checkStatus == "宸插鏍�") { btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check; btnChkIco.Tag = "宸插鏍�"; @@ -1579,25 +1552,82 @@ btnChkIco.Tag = "鏈鏍�"; } btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸 - btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 璺濈椤堕儴10鍍忕礌 + 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 string getQueryWord(string str) + + public static FilterEntity getFilterEntityWord(string id, string idDec, string val, string type) { - return str.ToUpper().Replace("query_".ToUpper(), ""); + return new FilterEntity(id, idDec + ")", " like ", "鍖呭惈)", "%" + val + "%", type); } - public static FilterEntity getFilterEntityWord(string id, string idDec, string val) - { - return new FilterEntity(getQueryWord(id), idDec + ")", " like ", "鍖呭惈)", "%" + val + "%"); - } - public static List<FilterEntity> GetDilter(GridColumnCollection Columns) + 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; @@ -1606,7 +1636,7 @@ // fiList.Add(new FilterEntity("b.FNumber", "浣跨敤缁勭粐", " like ", "鍖呭惈", "%" + filter.Value + "%")); string[] ddd = filter.FilterString.Replace("Contains", "").Replace("(", "").Replace(")", "").Replace("'", "").Replace("'", "").Split(','); //Contains([fSubsidiary], '005') - fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), ddd[1].Trim())); + fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), ddd[1].Trim(), col.UnboundExpression)); } return fiList; } @@ -1631,8 +1661,20 @@ } } else - _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + - itm.fileValue + "'"); + { + switch (itm.fileType) + { + case "鏃堕棿绫诲瀷": + _sbSqlWhere.Append(" and CONVERT(nvarchar(30)," + itm.fileId + ",23)" + itm.fileOper + "'" + itm.fileValue + "'"); + break; + //case "鏁板�肩被鍨�": + // _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'"); + // break; + default: + _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'"); + break; + } + } } return _sbSqlWhere.ToString(); } @@ -1641,7 +1683,7 @@ public delegate void DelegateGetModel(string guid); public delegate void DelegateGetList(int currentPage); /// <summary> - /// + /// 璁剧疆涓昏〃鐨勬牱寮� /// </summary> /// <param name="gridView1">gridview</param> /// <param name="picCheckBox">鍥炬爣鎸夐挳</param> @@ -1649,28 +1691,70 @@ /// <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) + 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.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains; - column.OptionsFilter.ImmediateUpdateAutoFilter = false; + 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 (column.Tag == null || column.Tag.ToString().Length <= 0) - column.OptionsFilter.AllowAutoFilter = false; + //column.OptionsColumn.ReadOnly = true; + column.OptionsColumn.ReadOnly = !isPostSearch; + + if (isPostSearch == true) + { + if (column.Tag == null || column.Tag.ToString().Length <= 0) + column.OptionsFilter.AllowAutoFilter = false; + } } - gridView1.OptionsFilter.AllowAutoFilterConditionChange = DevExpress.Utils.DefaultBoolean.False; - gridView1.OptionsFilter.AllowFilterEditor = false; - gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False; - gridView1.OptionsCustomization.AllowFilter = false; - gridView1.OptionsFind.ShowSearchNavButtons = false; - gridView1.OptionsView.ShowAutoFilterRow = true; - gridView1.OptionsView.ShowGroupPanel = false; + gridView1.IndicatorWidth = 50; gridView1.CustomDrawRowIndicator += (s, e) => { @@ -1714,7 +1798,78 @@ 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; + bool columnExists = row.Table.Columns.Contains("isRed"); + if (columnExists == true) + { + string _isRed = row["isRed"].ToString(); + if (_isRed == "1") + { + e.Appearance.ForeColor = Color.Tomato; + } + } + // 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹� + 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) { @@ -1723,26 +1878,62 @@ edit.SelectAll(); } - public static void SetTabParameter(GridView gridView1, DevExpress.XtraTab.XtraTabControl xtraTabControl1, UcPageBar pageBar1, DelegateGetModel action = null, DelegateGetList page = null) + 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; - if (_handle == -1) + 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 (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; } }; } @@ -1757,6 +1948,36 @@ /// <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; @@ -1805,7 +2026,66 @@ Regex regex = new Regex("^[0-9]+$"); return regex.IsMatch(str); } + public static bool IsNumeric2(string str) + { + string input = str; + decimal number; + bool isNumeric = decimal.TryParse(input, out number); + return isNumeric; + } + public static void PrintJiSuan(DevExpress.XtraEditors.TextEdit box1, DevExpress.XtraEditors.TextEdit box2, string sum, DevExpress.XtraEditors.RadioGroup rd) + { + if (rd.SelectedIndex == 2) + return; + try + { + string t1 = box1.Text.Trim(); + string t2 = box2.Text.Trim(); + if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric2(t1)) + return; + decimal? dc = Gs.DevApp.ToolBox.UtilityHelper.GetDecimal(sum); + decimal? dc1 = Gs.DevApp.ToolBox.UtilityHelper.GetDecimal(t1); + + int dividend = int.Parse(sum); // 琚櫎鏁� + int divisor = int.Parse(t1); // 闄ゆ暟 + + int quotient = dividend / divisor; // 鏁存暟閮ㄥ垎 + int remainder = dividend % divisor; // 浣欐暟 + + box2.Text = quotient.ToString(); + + if (rd.SelectedIndex == 0) + rd.Properties.Items[0].Description = "鍏ㄨ嚜鍔ㄣ��" + remainder.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) { + txt_psnQty_1.Text = ""; + txt_iCount_1.Text = ""; + radOut.Properties.Items[0].Description = "鍏ㄨ嚜鍔�"; + if (radOut.SelectedIndex == 2) + txt_iCount_1.ReadOnly = false; + else + txt_iCount_1.ReadOnly = true; + } + public static decimal PrintYuLiang(DevExpress.XtraEditors.RadioGroup rd) + { + decimal dc = 0; + if (rd.SelectedIndex != 0) + return 0; + string txt = rd.Properties.Items[0].Description;// = "鍏ㄨ嚜鍔ㄣ��" + remainder.ToString() + "銆�"; + txt = txt.Trim().Replace("鍏ㄨ嚜鍔ㄣ��", ""); + txt = txt.Replace("銆�", ""); + if (string.IsNullOrEmpty(txt)) + return 0; + return decimal.Parse(txt); + } } /// <summary> @@ -1817,10 +2097,11 @@ { } - public CboItemEntity(string val, string text) + public CboItemEntity(string val, string text, string fType = "") { Text = text; Value = val; + FType = fType; } /// <summary> @@ -1832,6 +2113,8 @@ /// 瀵硅薄鍊� /// </summary> public object Value { get; set; } = ""; + + public object FType { get; set; } = ""; public override string ToString() { @@ -1853,13 +2136,14 @@ /// <param name="operDec">鎿嶄綔绗﹀娉�</param> /// <param name="val"></param> public FilterEntity(string id, string idDec, string oper, - string operDec, string val) + string operDec, string val, string type) { fileId = id; fileIdDec = idDec; fileOper = oper; fileOperDec = operDec; fileValue = val; + fileType = type; } public string fileId { get; set; } @@ -1871,5 +2155,7 @@ 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