切换所有复选框内的DataGrid列

warning: 这篇文章距离上次修改已过566天,其中的内容可能已经有所变动。

     超过一年半前,我写了一篇文章,选择/取消选择所有复选框内Grid View网站的形式。上个月,我有机会实现相同的功能为DataGrid View控件的窗口形式。最初,我以为它很容易在案件的Grid View网站的形式,但它不是。它是一个有点棘手的案件的DataGrid View控件的窗口形式。例如,添加一个复选框在标题栏DataGrid View控件并不是一项简单的工作。所以在做了大量的研究工作,并花了很多时间学习控制的功能,我终于到达了以下的解决方案。所有的修改和澄清是最受欢迎的!

内容表

简介

添加行/头复选框(英)

添加行复选框在一个DataGrid View柱

添加一个复选框在一个DataGrid View列标题

附加头复选框的DataGrid View的事件

附加头复选框的鼠标点击和Up事件

头复选框的鼠标点击事件处理程序

头复选框的Up事件处理程序

将DataGrid View的cellvaluechanged,currentcelldirtystatechanged和cellpainting事件

DataGrid View的cellvaluechanged事件处理程序

DataGrid View的cellpainting事件处理程序

DataGrid View的currentcelldirtystatechanged事件处理程序

方法相关的行/头复选框和DataGrid View

addheadercheckbox方法

resetlocation方法

headercheckboxclick方法

rowcheckboxclick方法

bindgridview方法

清盘

历史

简介

超过一年半前,我写了一篇文章,选择/取消选择所有复选框内Grid View网站的形式。上个月,我有机会实现相同的功能为DataGrid View控件的窗口形式。最初,我以为它很容易在案件的Grid View网站的形式,但它不是。它是一个有点棘手的案件的DataGrid View控件的窗口形式。例如,添加一个复选框在标题栏DataGrid View控件并不是一项简单的工作。所以在做了大量的研究工作,并花了很多时间学习控制的功能,我终于到达了以下的解决方案。所有的修改和澄清是最受欢迎的!

添加行复选框在一个DataGrid View柱

添加行复选框在一个DataGrid View列,我添加了一个datagridviewcheckboxcolumn列控制。我已经作了allowusertoaddrows和allowusertodeleterows性质的DataGrid View[dgvselectall]等于虚假,如:

崩溃|复制代码

dgvselectall.allowusertoaddrows=假;

dgvselectall.allowusertodeleterows=假;添加报头复选框在DataGrid View柱

正如我前面所说,添加报头复选框在DataGrid View柱是有点棘手。我已经添加了一头复选框[headercheckbox]在DataGrid View柱通过调用addheadercheckbox方法通过窗体的加载事件,如:

崩溃|复制代码

私人无效frmselectall_load(对象发送按钮,电子)

{

addheadercheckbox();

}我会解释的addheadercheckbox方法后。

附加头复选框的鼠标点击和Up事件

我的头复选框的有线鼠标点击和Up事件通过窗体的加载事件,如:

崩溃|复制代码

私人无效frmselectall_load(对象发送按钮,电子)

{

headercheckbox.keyup+=新keyeventhandler(headercheckbox_keyup);

headercheckbox.mouseclick+=新mouseeventhandler(headercheckbox_mouseclick);

}头复选框的鼠标点击事件处理程序

鼠标点击事件被解雇的每次点击标题”复选框。在这里,该headercheckboxclick方法调用通过头复选框的参考参数。我将讨论headercheckboxclick方法后。

崩溃|复制代码

私人无效headercheckbox_mouseclick(对象发送,mouseeventargs欧)

{

headercheckboxclick((复选框)发送);

}头复选框的Up事件处理程序

Up事件被解雇,每当我们释放的一个重要的头复选框如果具有焦点。在这里,headercheckboxclick方法的调用通过头复选框的参考参数,提供此事件引发的空间酒吧。

崩溃|复制代码

私人无效headercheckbox_keyup(对象发送,keyeventargs欧)

{

如果(中国能拿多少块金牌==密钥空间。)

headercheckboxclick((复选框)发送);

}将DataGrid View的cellvaluechanged,currentcelldirtystatechanged和cellpainting事件

我有线DataGrid View的cellvaluechanged,currentcelldirtystatechanged,和cellpainting事件,分别,透过窗户形式的加载事件,如:

崩溃|复制代码

私人无效frmselectall_load(对象发送按钮,电子)

{

dgvselectall.cellvaluechanged+=

新datagridviewcelleventhandler(dgvselectall_cellvaluechanged);

dgvselectall.currentcelldirtystatechanged+=

新tHandler(dgvselectall_currentcelldirtystatechanged);

dgvselectall.cellpainting+=

新datagridviewcellpaintingeventhandler(dgvselectall_cellpainting);

}DataGrid View的cellvaluechanged事件处理程序

该cellvaluechanged事件得到发射时的价值的DataGrid View细胞改变。这里的方法,rowcheckboxclick调用传递一个参考的datagridviewcheckboxcell,提出这个事件,提供了头不点击复选框。我会描述rowcheckboxclick方法后。

崩溃|复制代码

私人无效dgvselectall_cellvaluechanged(对象发送,datagridviewcelleventargs欧)

{

如果(!isheadercheckboxclicked)

rowcheckboxc

none
最后修改于:2023年05月08日 07:55

评论已关闭