c#是否存在datagridview事件复选框

时间:2012-06-18 21:03:09

标签: c# events datagridview datagridviewcheckboxcell

我想知道每次有人检查datagridview的复选框时是否有事件。

我的目标是计算检查了多少行,但我希望每次用户检查时刷新计数,这就是为什么我想知道每个检查用户是否有事件。 (就像在普通复选框中一样,checkBox_CheckedChanged)

谢谢

2 个答案:

答案 0 :(得分:2)

没有(据我所知),但你可以使用这个简单的解决方法:

private void dgAreas_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    IsChecked = (bool)dgAreas[e.ColumnIndex, e.RowIndex].EditedFormattedValue
    ...

}

您必须收听CellContentClick事件。

答案 1 :(得分:0)

试试这个:

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) {
    //Closing current edited cell (for prevent problems)
    this.dataGridView1.EndEdit();
    //Retrive the datasource from the gridView in a DataTable (in this case, i use a DataSource with Visual Studio Wizard
    DataTable source = ((DataSet)((BindingSource)this.dataGridView1.DataSource).DataSource).Tables[0];
    //The magic code line ("IdCierre is my checkeable field" in the grid). I use Linq
    this.label_contador.Text = source.AsEnumerable().Where(x => x.Field<bool>("IdCierre") == true).Count().ToString();
}