From 641e86dfaeb2eed992a717beb297c0ba84869f6b Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期二, 15 四月 2025 18:08:38 +0800
Subject: [PATCH] checkbox
---
DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs | 93 ++++++++++++++++++++++++++++--
DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.Designer.cs | 19 +++++
DevApp/Gs.DevApp/DevFrm/Warehouse/SelectShuoTuiSq.Designer.cs | 1
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 16 ++++-
4 files changed, 115 insertions(+), 14 deletions(-)
diff --git a/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.Designer.cs b/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.Designer.cs
index ea15bce..858333a 100644
--- a/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.Designer.cs
@@ -31,6 +31,7 @@
this.panelControl2 = new DevExpress.XtraEditors.PanelControl();
this.gcMain = new DevExpress.XtraGrid.GridControl();
this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
+ this.gridColumn1 = new DevExpress.XtraGrid.Columns.GridColumn();
this.gv_depotCode = new DevExpress.XtraGrid.Columns.GridColumn();
this.gv_depotName = new DevExpress.XtraGrid.Columns.GridColumn();
this.panelControl1 = new DevExpress.XtraEditors.PanelControl();
@@ -71,16 +72,29 @@
this.gridView1.Appearance.Row.Options.UseFont = true;
this.gridView1.ColumnPanelRowHeight = 60;
this.gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
+ this.gridColumn1,
this.gv_depotCode,
this.gv_depotName});
this.gridView1.GridControl = this.gcMain;
this.gridView1.IndicatorWidth = 50;
this.gridView1.Name = "gridView1";
this.gridView1.OptionsFind.ShowSearchNavButtons = false;
- this.gridView1.OptionsSelection.MultiSelect = true;
- this.gridView1.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect;
this.gridView1.OptionsView.ShowAutoFilterRow = true;
this.gridView1.OptionsView.ShowGroupPanel = false;
+ //
+ // gridColumn1
+ //
+ this.gridColumn1.Caption = ".";
+ this.gridColumn1.FieldName = "chkInt";
+ this.gridColumn1.MaxWidth = 60;
+ this.gridColumn1.MinWidth = 60;
+ this.gridColumn1.Name = "gridColumn1";
+ this.gridColumn1.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.False;
+ this.gridColumn1.OptionsFilter.AllowInHeaderSearch = DevExpress.Utils.DefaultBoolean.False;
+ this.gridColumn1.Tag = "edit";
+ this.gridColumn1.Visible = true;
+ this.gridColumn1.VisibleIndex = 0;
+ this.gridColumn1.Width = 60;
//
// gv_depotCode
//
@@ -161,5 +175,6 @@
private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
private DevExpress.XtraGrid.Columns.GridColumn gv_depotCode;
private DevExpress.XtraGrid.Columns.GridColumn gv_depotName;
+ private DevExpress.XtraGrid.Columns.GridColumn gridColumn1;
}
}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs b/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs
index c23e3b5..d5e23e9 100644
--- a/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs
+++ b/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs
@@ -1,9 +1,13 @@
-锘縰sing Gs.DevApp.Entity;
+锘縰sing DevExpress.XtraGrid.Columns;
+using DevExpress.XtraGrid.Views.Grid;
+using Gs.DevApp.Entity;
using Gs.DevApp.ToolBox;
using Newtonsoft.Json;
using System;
using System.Data;
+using System.Drawing;
using System.Windows.Forms;
+using System.Windows.Forms.VisualStyles;
namespace Gs.DevApp.DevFrm.PDA
{
@@ -20,20 +24,27 @@
public SelectPage(string _userGuid)
{
InitializeComponent();
+ this.gridView1.CustomDrawColumnHeader += (s, e) => { gridViewLeftList_CustomDrawColumnHeader(s, e); };
+ this.gridView1.MouseUp += (s, e) => { gridViewLeftList_MouseUp(s, e); };
this.userGuid = _userGuid;
Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, null, "", null, null, false);
getPageList(1);
btnIn.Click += (s, e) =>
{
System.Text.StringBuilder sbList = new System.Text.StringBuilder();
- int[] rows = this.gridView1.GetSelectedRows();//鍏堣幏鍙栭�夋嫨琛岀殑琛屽彿
- DataTable dt = this.gcMain.DataSource as DataTable;//寰楀埌GridControl鐨勬暟鎹簮
- foreach (int idx in rows)
+ DataTable dt = this.gcMain.DataSource as DataTable;
{
- string _guid = dt.Rows[idx]["guid"].ToString();
- if (sbList.Length > 0)
- sbList.Append(",");
- sbList.Append(_guid);
+ foreach (DataRow dr in dt.Rows)
+ {
+ string checkBox = dr["chkInt"].ToString();
+ string _guid = dr["guid"].ToString();
+ if (Gs.DevApp.ToolBox.UtilityHelper.ToCheck(checkBox))
+ {
+ if (sbList.Length > 0)
+ sbList.Append(",");
+ sbList.Append(_guid);
+ }
+ }
}
var _obj = new
{
@@ -59,6 +70,7 @@
}
};
}
+
/// <summary>
/// </summary>
@@ -97,5 +109,70 @@
MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
}
}
+
+
+ #region 缁樺埗琛ㄥご鍏ㄩ�夊嬀閫夋
+ /// <summary>
+ /// 缁樺埗琛ㄥご鍏ㄩ�夊嬀閫夋
+ /// </summary>
+ private Rectangle checkBoxColumnHeaderRect = Rectangle.Empty;
+ private GridColumn checkBoxColumn = null;
+ private void gridViewLeftList_CustomDrawColumnHeader(object sender, ColumnHeaderCustomDrawEventArgs e)
+ {
+ if (e.Column != null && e.Column.AbsoluteIndex == 0)
+ {
+ 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;
+ }
+ }
+
+ private void gridViewLeftList_MouseUp(object sender, MouseEventArgs e)
+ {
+ 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
}
}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/SelectShuoTuiSq.Designer.cs b/DevApp/Gs.DevApp/DevFrm/Warehouse/SelectShuoTuiSq.Designer.cs
index 6cd8413..c4c3350 100644
--- a/DevApp/Gs.DevApp/DevFrm/Warehouse/SelectShuoTuiSq.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/SelectShuoTuiSq.Designer.cs
@@ -109,6 +109,7 @@
this.gv_chk.MaxWidth = 50;
this.gv_chk.MinWidth = 50;
this.gv_chk.Name = "gv_chk";
+ this.gv_chk.Tag = "edit";
this.gv_chk.Visible = true;
this.gv_chk.VisibleIndex = 0;
this.gv_chk.Width = 50;
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index f665fdc..580873b 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -42,7 +42,6 @@
private static readonly string WebApiUrl =
ConfigurationManager.AppSettings["WebApiUrl"];
-
public static async Task<string> UploadFileAsync(string filePath)
{
using (var httpClient = new HttpClient())
@@ -1352,6 +1351,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鐨勫綋鍓嶈
@@ -1747,9 +1754,9 @@
column.OptionsColumn.ReadOnly = false;
else
column.OptionsColumn.ReadOnly = true;
-
- if(isPostSearch==false)
- column.OptionsColumn.ReadOnly = true;
+
+ //if(isPostSearch==false)
+ // column.OptionsColumn.ReadOnly = true;
if (isPostSearch == true)
{
@@ -2090,6 +2097,7 @@
return 0;
return decimal.Parse(txt);
}
+
}
/// <summary>
--
Gitblit v1.9.3