VisualStudio 2010 C# - ListGridView 中的复选框



所以,我有一个有几列的DataGridView。第一个 (index=0) 每行包含一个复选框。
当应用程序运行时:我为某些行设置了复选框 true,当我触发事件应用程序时,忽略我上次单击的复选框。但是当我单击CheckAll按钮时,我使该操作适用于每个项目。

 private void  nameToolStripMenuItem_Click(object sender, EventArgs e)
{
    for (int i = 0; i < datagridview1.RowCount; i++)
    {
       try
       {
         if ((bool)datagridview1[0, i].Value){           
           // do something with row values
         }
       }
       catch (Exception ex) {
         // this is because if checkbox is not checked
         // the compiler throws NullReferenceException
       }
    }
}

更奇怪的是,我在项目的其他地方编写了与相同for(){}的代码,并且代码没有像那样的异常。我做错了什么?
感谢您阅读本文。

我可能会用foreach创建循环,这将确保每一行都被选中。 可能,您可以使用 i

最后。Visual Studio 没有计算检查的最后一行,因为该单元格的编辑未完成。我用这行代码解决了问题。

数据网格视图1.结束编辑();

最新更新