gridcontrol 表头CheckEditt全选

3 篇文章 0 订阅
  public void Init()
        {

            //gridView1.OptionsSelection.MultiSelect = true;
            //gridView1.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect;
            this.gridView1.CustomDrawColumnHeader += new DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventHandler(gridView1_CustomDrawColumnHeader);
          

        }
         void gridView1_CustomDrawColumnHeader(object sender, DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs e)
        {
            if (e.Column != null)
            {
                e.Info.InnerElements.Clear();
                e.Painter.DrawObject(e.Info);
                DrawCheckBox(e, false);
                e.Handled = true;
            }
        }
           private void DrawCheckBox(DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs e, bool chk)
        {
            RepositoryItemCheckEdit repositoryCheck = e.Column.ColumnEdit as RepositoryItemCheckEdit;
            if (repositoryCheck != null)
            {
                Graphics g = e.Graphics;
                Rectangle r = e.Bounds;
                DevExpress.XtraEditors.ViewInfo.CheckEditViewInfo info;
                DevExpress.XtraEditors.Drawing.CheckEditPainter painter;
                DevExpress.XtraEditors.Drawing.ControlGraphicsInfoArgs args;
                info = repositoryCheck.CreateViewInfo() as DevExpress.XtraEditors.ViewInfo.CheckEditViewInfo;
                painter = repositoryCheck.CreatePainter() as DevExpress.XtraEditors.Drawing.CheckEditPainter;
                info.EditValue = chk;
                info.Bounds = r;
                info.CalcViewInfo(g);
                args = new DevExpress.XtraEditors.Drawing.ControlGraphicsInfoArgs(info, new DevExpress.Utils.Drawing.GraphicsCache(g), r);
                painter.Draw(args);
                args.Cache.Dispose();
            }
        }
        private void gridView1_DoubleClick(object sender, EventArgs e)
        {
            Point pt = gridControl2.PointToClient(Control.MousePosition);

            GridHitInfo info = gridView1.CalcHitInfo(pt);

            if (!info.InRowCell && info.Column!=null&&info.Column.Name == "gridColumn8")//Index判断用于哪一列的列头
            {
                var ck = info.Column.ColumnEdit as RepositoryItemCheckEdit;
                //ck.ValueChecked = m_checkStatus;

                for (int i = 0; i < gridView1.DataRowCount; i++)
                {
                    gridView1.SetRowCellValue(i, gridView1.Columns["Selected"], m_checkStatus);
                }
                m_checkStatus = !m_checkStatus;
                gridControl2.Refresh();
                // ck.ValueChecked = m_checkStatus;
            }
            else
            {
                int i = gridView1.FocusedRowHandle;
                if (i >= 0)
                {
                    PatientInfo entity = (PatientInfo)gridView1.GetRow(this.gridView1.GetSelectedRows()[0]);
                    gridView1.SetRowCellValue(i, gridView1.Columns["Selected"], !entity.Selected);
                }
                gridView1.UpdateCurrentRow();
            }
        }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值