我在这里遇到了一个奇怪的问题。
我有一个由与数据库连接填充的3列数据网格。 目前为止都很好。
我有一个额外的列,复选框类型。 我需要获取它的值以执行批量操作。 这里是问题:
当选择所有单元格时,它正常工作。 但是当用户选择任何不是第一个的单元格时,软件会给我一个对象引用异常。
以下是代码
我追踪到了失败的原因,是因为读取单元格的值为 null,在 if 测试中抛出了异常。
有什么想法吗?
谢谢。
我有一个由与数据库连接填充的3列数据网格。 目前为止都很好。
我有一个额外的列,复选框类型。 我需要获取它的值以执行批量操作。 这里是问题:
当选择所有单元格时,它正常工作。 但是当用户选择任何不是第一个的单元格时,软件会给我一个对象引用异常。
以下是代码
public List<String> GetSelected()
{
List<String> selected = new List<String>();
foreach(DataGridViewRow row in datagrid.rows)
{
if ((Boolean)row.Cells[wantedCell].Value == true)
{
selected.Add(row.Cells[anotherCell]);
}
}
}
我追踪到了失败的原因,是因为读取单元格的值为 null,在 if 测试中抛出了异常。
有什么想法吗?
谢谢。
Convert.ToBoolean(row.Cells[i])
它工作得很好。感谢您的帮助! :D - George Silvarow.Cells[wantedCell].Value
是null
,而你试图将其转换为bool
类型。(这是一个不可为空的类型) - SLaks