lu
2025-04-15 641e86dfaeb2eed992a717beb297c0ba84869f6b
checkbox
已修改4个文件
129 ■■■■ 文件已修改
DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.Designer.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/DevFrm/Warehouse/SelectShuoTuiSq.Designer.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
}
DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs
@@ -1,9 +1,13 @@
using Gs.DevApp.Entity;
using 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
    }
}
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;
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>