暴力画上去一个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;
}
}
}
}