From b9351bcb7d8c5d1ff597dfa5dc5297652497a93e Mon Sep 17 00:00:00 2001
From: lu <123456>
Date: 星期日, 03 八月 2025 12:01:42 +0800
Subject: [PATCH] 分区绑定
---
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 280 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 263 insertions(+), 17 deletions(-)
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index e5a44d7..67b3d33 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">api鏍瑰湴鍧�</param>
+ /// <param name="meth">鏂规硶鍚嶇О</param>
+ /// <param name="param">json鍙傛暟</param>
+ /// <param name="isLoading">鏄惁loading</param>
+ /// <returns></returns>
public static string HttpPost(string url, string meth, string param, bool isLoading = true)
{
Size _size; string _caption; Color _color; Padding _pad;
@@ -106,15 +118,6 @@
}
/// <summary>
- /// 榛樿椤靛ぇ灏�
- /// </summary>
- /// <returns></returns>
- public static int GetPageSize()
- {
- return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize"));
- }
-
- /// <summary>
/// 鏍规嵁鍥剧墖鍚嶈鍙栬祫婧愭枃浠�,涓嶅甫鍚庣紑鍚�
/// </summary>
/// <param name="imageName"></param>
@@ -160,6 +163,7 @@
gc.BindingContext = new BindingContext();
gc.DataSource = dt;
gc.ForceInitialize();
+ gv.BestFitColumns();
}
/// <summary>
@@ -255,6 +259,8 @@
{
foreach (var gv in gridViews)
{
+ gv.ClearSorting();
+ gv.OptionsCustomization.AllowSort = isEdt;
foreach (GridColumn colmn in gv.Columns)
{
colmn.OptionsColumn.AllowEdit = true;
@@ -445,6 +451,15 @@
break;
}
txt.Enabled = !isEdt;
+ continue;
+ }
+ //澶氶��
+ if (colType is RadioGroup)
+ {
+ var txt = colType as RadioGroup;
+ if (txt != null)
+ txt.SelectedIndex =int.Parse( strVal);
+ txt.ReadOnly = isEdt;
continue;
}
//鏃堕棿
@@ -659,6 +674,8 @@
{
foreach (var gv in gridViews)
{
+ gv.ClearSorting();
+ gv.OptionsCustomization.AllowSort = isEdt;
foreach (GridColumn colmn in gv.Columns)
{
colmn.OptionsColumn.AllowEdit = true;
@@ -737,6 +754,15 @@
}
else
txt.ReadOnly = isEdt;
+ continue;
+ }
+ //澶氶��
+ if (ctrl is RadioGroup)
+ {
+ var txt = ctrl as RadioGroup;
+ if (txt != null)
+ txt.SelectedIndex = 0;
+ txt.ReadOnly = isEdt;
continue;
}
//鏃堕棿
@@ -935,6 +961,8 @@
{
foreach (var gv in gridViews)
{
+ gv.ClearSorting();
+ gv.OptionsCustomization.AllowSort = isEdt;
foreach (GridColumn colmn in gv.Columns)
{
colmn.OptionsColumn.AllowEdit = true;
@@ -994,6 +1022,13 @@
if (ctrl is NumericUpDown)
{
var txt = ctrl as NumericUpDown;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
+ //澶氶��
+ if (ctrl is RadioGroup)
+ {
+ var txt = ctrl as RadioGroup;
txt.ReadOnly = isEdt;
continue;
}
@@ -1698,7 +1733,6 @@
}
};
gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀
-
if (isPostSearch == true)
{
gridView1.OptionsView.ShowGroupPanel = false;
@@ -1715,7 +1749,6 @@
//鏄惁鏄剧ず搴曢儴鐨勮繃婊ゆ潯
// gridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;
}
-
// gridView1.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText;
foreach (GridColumn column in gridView1.Columns)
{
@@ -1741,7 +1774,6 @@
column.OptionsFilter.AllowAutoFilter = false;
}
}
-
gridView1.IndicatorWidth = 60;
gridView1.CustomDrawRowIndicator += (s, e) =>
{
@@ -1796,6 +1828,7 @@
DataRow row = gridView1.GetDataRow(e.RowHandle);
if (row == null)
return;
+ //杩欐槸danger鑹�
bool columnExists = row.Table.Columns.Contains("isRed");
if (columnExists == true)
{
@@ -1803,6 +1836,16 @@
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);
}
}
// 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹�
@@ -1933,7 +1976,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) =>
{
@@ -2004,6 +2047,45 @@
}
}
};
+
+ 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)
+ {
+ }
+ };
+ }
}
#endregion
@@ -2044,6 +2126,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>
@@ -2095,6 +2196,92 @@
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>
/// 缁樺埗琛ㄥご鍏ㄩ�夊嬀閫夋
@@ -2103,7 +2290,6 @@
// 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)
{
@@ -2147,10 +2333,26 @@
else
{
checkBoxColumn.Tag = "1";
+ /********2025-07-23淇ˉ杩囨护bug 鏁呮敞閲� beg ************/
+ //foreach (DataRow row in _Table.Rows)
+ //{
+ // row["chkInt"] = true;
+ //}
+ /********2025-07-23淇ˉ杩囨护bug 鏁呮敞閲� end ************/
+ /********2025-07-23淇ˉ杩囨护bug beg ************/
+ System.Collections.IList ftRow = gridView1.DataController.GetAllFilteredAndSortedRows();
+ System.Collections.ArrayList ftAry = new System.Collections.ArrayList();
+ foreach (System.Data.DataRowView _ft in ftRow)
+ {
+ string guid = _ft["guid"].ToString();
+ ftAry.Add(guid);
+ }
foreach (DataRow row in _Table.Rows)
{
- row["chkInt"] = true;
+ if (ftAry.Contains(row["guid"].ToString()))
+ row["chkInt"] = true;
}
+ /********2025-07-23淇ˉ杩囨护bug end ************/
}
gcMain.BindingContext = new BindingContext();
gcMain.DataSource = _Table;
@@ -2163,6 +2365,31 @@
}
}
#endregion
+
+ //璇诲彇榛樿缁勭粐
+ public static string GetFirstOrg(UserControl.UcLookOrg txt_erpSczz)
+ {
+ string userGuid = LoginInfoModel.CurrentUser.LoginUserGuid;
+ var pgq = new PageQueryModel(1, 999999, "FID", "asc", userGuid, " and IS_STATUS=1");
+ var json = JsonConvert.SerializeObject(pgq);
+ try
+ {
+ var strReturn = UtilityHelper.HttpPost("", "Organization/GetListPage", json);
+ var _obj = UtilityHelper.ReturnToDynamic(strReturn);
+ string _extendText = _obj.rtnData.extendText;
+ string[] _dftOrg = _extendText.Split(',');
+ if (_dftOrg.Length > 0)
+ {
+ txt_erpSczz.SetIdOrCode(_dftOrg[0].Trim());
+ return _dftOrg[0].Trim();
+ }
+ return "";
+ }
+ catch (Exception ex)
+ {
+ return "";
+ }
+ }
}
/// <summary>
@@ -2235,4 +2462,23 @@
public string fileType { get; set; }
}
+
+
+ public enum QcSeason
+ {
+ iqc,
+ ipqc宸℃,
+ ipqc棣栨,
+ fqc,
+ 鐢熶骇閫�鏂欏叆搴撴,
+ 鍏跺畠鍏ュ簱妫�,
+ 閿�鍞��璐у叆搴撴,
+ 瓒呮湡妫�,
+ 濮斿閫�鏂欏叆搴撴,
+ cqcjyes,//閲嶆鏂规
+ cqcjno,//閲嶆鏂规
+ }
+
+
+
}
\ No newline at end of file
--
Gitblit v1.9.3