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 | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 164 insertions(+), 7 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs b/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs index b5abbf6..d5e23e9 100644 --- a/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs +++ b/DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs @@ -1,21 +1,178 @@ -锘縰sing DevExpress.XtraEditors; +锘縰sing DevExpress.XtraGrid.Columns; +using DevExpress.XtraGrid.Views.Grid; +using Gs.DevApp.Entity; +using Gs.DevApp.ToolBox; +using Newtonsoft.Json; using System; -using System.Collections.Generic; -using System.ComponentModel; using System.Data; using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; +using System.Windows.Forms.VisualStyles; namespace Gs.DevApp.DevFrm.PDA { public partial class SelectPage : DevExpress.XtraEditors.XtraForm { - public SelectPage() + private readonly string _webServiceName = "MesSysPageviewManager/"; + private string userGuid = ""; + /// <summary> + /// + /// </summary> + /// <param name="_suppId">渚涘簲鍟�</param> + /// <param name="_receiveOrgId">鏀舵枡缁勭粐</param> + /// <param name="_isWw">鏄惁濮斿</param> + 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(); + DataTable dt = this.gcMain.DataSource as DataTable; + { + 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 + { + userGuid = Gs.DevApp.ToolBox.UtilityHelper.ToGuid(userGuid), + bindGuidslist = sbList.ToString(), + fType = "PDA椤甸潰", + }; + try + { + var strJson = UtilityHelper.HttpPost("", + "MesSysPageviewManager/SetUserBind", + JsonConvert.SerializeObject(_obj)); + var _rtn = UtilityHelper.ReturnToDynamic(strJson); + MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg); + if (_rtn.rtnCode > 0) + { + this.Close(); + } + } + catch (Exception ex) + { + MsgHelper.Warning("鎻愮ず锛�" + ex.Message); + } + }; } + + + /// <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 json = JsonConvert.SerializeObject(pgq); + try + { + var strReturn = UtilityHelper.HttpPost("", + _webServiceName + "GetListPage", json); + var dd = UtilityHelper.ReturnToTablePage(strReturn); + if (dd.rtnCode > 0) + { + DataTable dt = dd.rtnData.list; + gcMain.BindingContext = new BindingContext(); + if (dt.Rows.Count > 0) + { + gcMain.DataSource = dt; + gcMain.ForceInitialize(); + gridView1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1); + } + else + UtilityHelper.SetDefaultTable(gcMain, gridView1); + } + else + { + ToolBox.MsgHelper.ShowError("鎻愮ず锛�" + dd.rtnMsg); + } + } + catch (Exception ex) + { + 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