bug
lu
7 小时以前 6f0266b7737f7f6af97cb1ace5bb0521c9b0790c
DevApp/Gs.DevApp/DevFrm/PDA/SelectPage.cs
@@ -1,13 +1,11 @@
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid.Views.Grid;
using Gs.DevApp.Entity;
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
{
@@ -24,13 +22,19 @@
        public SelectPage(string _userGuid)
        {
            InitializeComponent();
            this.gridView1.CustomDrawColumnHeader += (s, e) => { gridViewLeftList_CustomDrawColumnHeader(s, e); };
            this.gridView1.MouseUp += (s, e) => { gridViewLeftList_MouseUp(s, e); };
            this.gridView1.CustomDrawColumnHeader += (s, e) => { Gs.DevApp.ToolBox.UtilityHelper.CustomDrawColumnHeader(s, e); };
            this.gridView1.MouseUp += (s, e) => { Gs.DevApp.ToolBox.UtilityHelper.CustomMouseUp(s, e, gcMain, gridView1); };
            this.colChkInt.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.False;
            this.colChkInt.OptionsFilter.AllowAutoFilter = false;
            this.colChkInt.OptionsFilter.AllowFilter = false;
            this.colChkInt.OptionsFilter.AllowInHeaderSearch = DevExpress.Utils.DefaultBoolean.False;
            this.userGuid = _userGuid;
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, null, "", null, null, false);
            getPageList(1);
            btnIn.Click += (s, e) =>
            {
                gridView1.PostEditor();
                gridView1.UpdateCurrentRow();
                System.Text.StringBuilder sbList = new System.Text.StringBuilder();
                DataTable dt = this.gcMain.DataSource as DataTable;
                {
@@ -110,69 +114,5 @@
            }
        }
        #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
    }
}