当我离开时,我使用CellEndEdit
事件来捕获currentCell值。问题是,如果用户删除了所有单元格并尝试移动到另一个单元格,我收到错误Exception thrown System.NullReference
。
这是我的代码,我告诉我,如果单元格为空或空,则不执行任何操作
我试过了:
if ( AppointmentGrid[e.ColumnIndex, e.RowIndex].Value != "")
if ( AppointmentGrid[e.ColumnIndex, e.RowIndex].Value != null)
if ( AppointmentGrid[e.ColumnIndex, e.RowIndex].Value.ToString() != "")
if ( AppointmentGrid[e.ColumnIndex, e.RowIndex].Value.ToString() != "")
if ( !String.IsNullOrWhiteSpace(AppointmentGrid[e.ColumnIndex, e.RowIndex].Value.ToString()))
上面的任何内容都没有效果我得到了Null reference
。
有没有其他的可以检查我目前的细胞内部是否有东西?
答案 0 :(得分:0)
也许Value
为空。您可以使用空传播运算符?
来避免异常。
if ( AppointmentGrid[e.ColumnIndex, e.RowIndex]?.Value != "")
if ( AppointmentGrid[e.ColumnIndex, e.RowIndex]?.Value != null)
if ( AppointmentGrid[e.ColumnIndex, e.RowIndex]?.Value.ToString() != "")
if ( AppointmentGrid[e.ColumnIndex, e.RowIndex]?.Value.ToString() != "")
if ( !String.IsNullOrWhiteSpace(AppointmentGrid[e.ColumnIndex, e.RowIndex]?.Value.ToString()))