From ccc1b0d541d8f3bdd2bcb72dd0b5533e68b886d5 Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期一, 09 六月 2025 09:53:37 +0800 Subject: [PATCH] 采购明细报表 --- DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 207 +++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 158 insertions(+), 49 deletions(-) diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs index 178d1de..0d5a642 100644 --- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs +++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs @@ -1,6 +1,7 @@ 锘縰sing DevExpress.Utils; using DevExpress.XtraEditors; using DevExpress.XtraEditors.Controls; +using DevExpress.XtraEditors.Drawing; using DevExpress.XtraGrid; using DevExpress.XtraGrid.Columns; using DevExpress.XtraGrid.Menu; @@ -21,12 +22,10 @@ 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; @@ -43,11 +42,24 @@ private static readonly string WebApiUrl = ConfigurationManager.AppSettings["WebApiUrl"]; + /// <summary> + /// 璇诲彇鍔犺浇淇℃伅 + /// </summary> + /// <returns></returns> + public static (Size, string, Color, Padding) getLoading() { Size _size = new Size(360, 90); return (_size, "鎷煎懡鍔犺浇涓紝璇风◢鍚�...", System.Drawing.Color.LightSkyBlue, new Padding(15)); } + /// <summary> + /// http璇锋眰 + /// </summary> + /// <param name="url"></param> + /// <param name="meth"></param> + /// <param name="param"></param> + /// <param name="isLoading"></param> + /// <returns></returns> public static string HttpPost(string url, string meth, string param, bool isLoading = true) { Size _size; string _caption; Color _color; Padding _pad; @@ -103,15 +115,6 @@ } wdf.Close(); return responseStr; - } - - /// <summary> - /// 榛樿椤靛ぇ灏� - /// </summary> - /// <returns></returns> - public static int GetPageSize() - { - return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize")); } /// <summary> @@ -255,6 +258,8 @@ { foreach (var gv in gridViews) { + gv.ClearSorting(); + gv.OptionsCustomization.AllowSort = isEdt; foreach (GridColumn colmn in gv.Columns) { colmn.OptionsColumn.AllowEdit = true; @@ -659,6 +664,8 @@ { foreach (var gv in gridViews) { + gv.ClearSorting(); + gv.OptionsCustomization.AllowSort = isEdt; foreach (GridColumn colmn in gv.Columns) { colmn.OptionsColumn.AllowEdit = true; @@ -935,6 +942,8 @@ { foreach (var gv in gridViews) { + gv.ClearSorting(); + gv.OptionsCustomization.AllowSort = isEdt; foreach (GridColumn colmn in gv.Columns) { colmn.OptionsColumn.AllowEdit = true; @@ -1944,7 +1953,7 @@ /// <param name="fm"></param> /// <param name="fileName"></param> /// <param name="icoName"></param> - public static void SetGridViewParameterMx(GridView gridView1) + public static void SetGridViewParameterMx(GridView gridView1, DevExpress.Utils.ToolTipController tips = null) { gridView1.PopupMenuShowing += (s, e) => { @@ -2016,51 +2025,44 @@ } }; - gridView1.RowStyle += (s, e) => + if (tips != null) { - //榛樿閫変腑琛屼笉鍙樿壊 - gridView1.OptionsSelection.EnableAppearanceFocusedRow = false; - //榛樿閫変腑鍗曞厓鏍间笉鍙樿壊 - gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; - if (e.RowHandle >= 0) + tips.Appearance.BackColor = Color.LightBlue; // 璁剧疆鑳屾櫙棰滆壊 + tips.Appearance.ForeColor = Color.Black; // 璁剧疆鍓嶆櫙鑹诧紙鏂囧瓧棰滆壊锛� + gridView1.MouseMove += (s, e) => { - DataRow row = gridView1.GetDataRow(e.RowHandle); - if (row == null) - return; - //杩欐槸danger鑹� - bool columnExists = row.Table.Columns.Contains("isRed"); - if (columnExists == true) + try { - string _isRed = row["isRed"].ToString(); - if (_isRed == "1") + GridHitInfo hi = gridView1.CalcHitInfo(new Point(e.X, e.Y)); + if (hi.InRowCell) { - e.Appearance.ForeColor = Color.Tomato; + 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(); } - //杩欐槸success鑹� - columnExists = row.Table.Columns.Contains("isSuccess"); - if (columnExists == true) + catch (Exception exception) { - 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 @@ -2101,6 +2103,25 @@ 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> @@ -2152,6 +2173,94 @@ txt_iCount_1.ReadOnly = true; } + + + #region 鑷畾涔夎繘搴︽潯鍒� + + /// <summary> + /// 鑷畾涔夎繘搴︽潯鍒� + /// </summary> + /// <param name="view"></param> + /// <param name="fieldName">鍒楃殑瀛楁鍚�</param> + /// <param name="warningValue"></param> + /// <param name="lessColor"></param> + /// <param name="greaterColor"></param> + public static void CustomProgressBarColumn(DevExpress.XtraGrid.Views.Grid.GridView view, string fieldName, int warningValue = 50, Brush lessColor = null, Brush greaterColor = null) + { + var col = view.Columns[fieldName]; + if (col == null) return; + col.AppearanceCell.Options.UseTextOptions = true; + col.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center; + view.CustomDrawCell += (s, e) => + { + int _handle = e.RowHandle; + if (_handle < 0) + return; + if (e.Column.FieldName == fieldName) + { + DrawProgressBar(e, warningValue, lessColor, greaterColor); + e.Handled = true; + DrawEditor(e); + } + }; + } + + private static void DrawProgressBar(DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e, int warningValue = 50, Brush lessColor = null, Brush greaterColor = null) + { + string d = e.CellValue == null ? null : e.CellValue.ToString(); + decimal percent = string.IsNullOrEmpty(d) ? 0m : decimal.Parse(d); + if (percent <= 0) + percent = 0.1m; + int width = (int)(percent * e.Bounds.Width); + Rectangle rect = new Rectangle(e.Bounds.X, e.Bounds.Y, width, e.Bounds.Height); + Brush b = Brushes.Green; + if (greaterColor != null) + { + b = greaterColor; + } + if (percent * 100 < warningValue) + + { + if (lessColor == null) + + { + b = Brushes.Red; + } + else + + { + b = lessColor; + } + } + e.Graphics.FillRectangle(b, rect); + } + private static void DrawEditor(DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) + + { + GridCellInfo cell = e.Cell as GridCellInfo; + Point offset = cell.CellValueRect.Location; + BaseEditPainter pb = cell.ViewInfo.Painter as BaseEditPainter; + AppearanceObject style = cell.ViewInfo.PaintAppearance; + if (!offset.IsEmpty) + cell.ViewInfo.Offset(offset.X, offset.Y); + try + + { + pb.Draw(new ControlGraphicsInfoArgs(cell.ViewInfo, e.Cache, cell.Bounds)); + } + + finally + + { + if (!offset.IsEmpty) + + { + cell.ViewInfo.Offset(-offset.X, -offset.Y); + } + } + } + #endregion + #region 缁樺埗琛ㄥご鍏ㄩ�夊嬀閫夋 /// <summary> /// 缁樺埗琛ㄥご鍏ㄩ�夊嬀閫夋 -- Gitblit v1.9.3