暴力画上去一个checkbox以后并不一定需要用它自定义的checkbox选中状态改变事件,我们还可以用DataGridView的ColumnHeaderClick事件去做这个效果,这样的编程风格更符合Winform开发的风格。
View Code
private
void
dgvDateGridView_ColumnHeaderMouseClick(
object
sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex == dgvDataGridView.Columns[ " Checked " ].Index) // 如果点击的是checkbox列
{
DataTable dtData = dgvTaskDetail.DataSource as DataTable;
if (dtData != null )
{
// 设置check状态和列头的checkbox同步
foreach (DataRow drTemp in dtData.Rows)
{
drTemp[ " Checked " ] = this .gvcCheckboxHeader.Checked;
}
}
}
}
{
if (e.ColumnIndex == dgvDataGridView.Columns[ " Checked " ].Index) // 如果点击的是checkbox列
{
DataTable dtData = dgvTaskDetail.DataSource as DataTable;
if (dtData != null )
{
// 设置check状态和列头的checkbox同步
foreach (DataRow drTemp in dtData.Rows)
{
drTemp[ " Checked " ] = this .gvcCheckboxHeader.Checked;
}
}
}
}