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 | 99 ++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 88 insertions(+), 11 deletions(-)
diff --git a/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs b/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs
index af10bad..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,15 +70,16 @@
}
};
}
-
+
+
/// <summary>
/// </summary>
/// <param name="curPage">绗嚑椤�</param>
/// <param name="pageSize">姣忛〉鍑犳潯</param>
private void getPageList(int curPage)
{
- var _sbSqlWhere ="";
- var pgq = new PageQueryModel(curPage, 999999, "a.PAGE_GROUP", "asc","", _sbSqlWhere.ToString(), userGuid);
+ var _sbSqlWhere = "";
+ var pgq = new PageQueryModel(curPage, 999999, "a.PAGE_GROUP", "asc", "", _sbSqlWhere.ToString(), userGuid);
var json = JsonConvert.SerializeObject(pgq);
try
{
@@ -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
--
Gitblit v1.9.3