From 8afccee95f065d4d9c2d6800d895878a13667e8b Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期六, 19 四月 2025 09:18:56 +0800
Subject: [PATCH] 打印
---
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 203 +++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 181 insertions(+), 22 deletions(-)
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index af6b082..3967e2b 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -1,4 +1,18 @@
-锘縰sing System;
+锘縰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;
@@ -14,21 +28,7 @@
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
-using DevExpress.Utils;
-using DevExpress.XtraEditors;
-using DevExpress.XtraEditors.Controls;
-using DevExpress.XtraEditors.Repository;
-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.Windows.Forms.VisualStyles;
using UserControls.Data;
using static System.Windows.Forms.Control;
@@ -42,7 +42,6 @@
{
private static readonly string WebApiUrl =
ConfigurationManager.AppSettings["WebApiUrl"];
-
public static async Task<string> UploadFileAsync(string filePath)
{
@@ -727,6 +726,7 @@
var txt = ctrl as ButtonEdit;
txt.Text = "";
txt.Enabled = !isEdt;
+ txt.ReadOnly = isEdt;
continue;
}
//鏂囨湰
@@ -1352,6 +1352,14 @@
return false;
}
+ public static bool ToCheck(string str)
+ {
+ if (str.ToUpper() == "true".ToUpper())
+ return true;
+ if (str.ToUpper() == "1".ToUpper())
+ return true;
+ return false;
+ }
/// <summary>
/// 璇诲彇grid鐨勫綋鍓嶈
@@ -1692,7 +1700,7 @@
/// <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 isSearch=true)
+ 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) =>
{
@@ -1715,7 +1723,8 @@
};
gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀
- if (isSearch == true) {
+ if (isPostSearch == true)
+ {
gridView1.OptionsView.ShowGroupPanel = false;
gridView1.OptionsCustomization.AllowGroup = false;
gridView1.OptionsFilter.AllowAutoFilterConditionChange = DevExpress.Utils.DefaultBoolean.False;
@@ -1734,6 +1743,9 @@
// 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;
@@ -1744,13 +1756,16 @@
else
column.OptionsColumn.ReadOnly = true;
- if (isSearch == 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 = 50;
gridView1.CustomDrawRowIndicator += (s, e) =>
{
@@ -1882,7 +1897,7 @@
column.Width = 500;
}
}
-
+
/// <summary>
/// 璁剧疆閫夐」鍗�
/// </summary>
@@ -1971,6 +1986,8 @@
{
// 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;
@@ -2020,7 +2037,149 @@
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;
+ }
+ /// <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;
+ }
+ 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);
+ }
+
+ #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>
--
Gitblit v1.9.3