Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查vb.net中的Datagridview是否为空_Vb.net - Fatal编程技术网

检查vb.net中的Datagridview是否为空

检查vb.net中的Datagridview是否为空,vb.net,Vb.net,我想检查DataGridView是否为空。如果为空,则应关闭窗口。我使用了这段代码,但它抛出“NullReferenceException未处理”。我该怎么修 If DataGridViewReInfor.CurrentCell.Value Is Nothing Then Me.Close() Else MessageBox.Show("Cell contains a value") End If 您得到异常是因为您正在访问的对象的变量或属性是Nothing

我想检查DataGridView是否为空。如果为空,则应关闭窗口。我使用了这段代码,但它抛出“NullReferenceException未处理”。我该怎么修

If DataGridViewReInfor.CurrentCell.Value Is Nothing Then
    Me.Close()
Else
    MessageBox.Show("Cell contains a value")
End If

您得到异常是因为您正在访问的对象的变量或属性是
Nothing
。这是一个使用调试器很容易发现的异常(只需将鼠标悬停在表达式上),在这种情况下,我很确定
CurrentCell
Nothing
,因为没有选择。这是你应该首先训练自己去检查的事情,因为很少有常见的异常是令人惊讶的


至于检查DataGridView是否为空:如果没有
IsEmpty
属性,您可能需要查看其他内容。可能查看
RowCount
ColumnCount
会有所帮助。

您会得到异常,因为您正在访问的对象的变量或属性是
Nothing
。这是一个使用调试器很容易发现的异常(只需将鼠标悬停在表达式上),在这种情况下,我很确定
CurrentCell
Nothing
,因为没有选择。这是你应该首先训练自己去检查的事情,因为很少有常见的异常是令人惊讶的


至于检查DataGridView是否为空:如果没有
IsEmpty
属性,您可能需要查看其他内容。也许查看
RowCount
ColumnCount
会有所帮助。

DataGridView就像是包含行、列和单元格的矩阵。单元格由特定列中的特定行表示

当特定单元格中的值为空时,您所做的以下操作将进行检查:

If DataGridViewReInfor.CurrentCell.Value Is Nothing Then
注意:在检查值是否为Nothing之前,需要检查CurrentCell是否为Nothing。这可能就是你得到例外的原因

If DataGridViewReInfor.CurrentCell Is Nothing Then 
但如果您的目的是在DataGridView包含行时进行检查,则需要询问行数:

If DataGridViewReInfor.RowCount>0 Then
或行数

If DataGridViewReInfor.Rows.Count > 0 Then

DataGridView类似于包含行、列和单元格的矩阵。单元格由特定列中的特定行表示

当特定单元格中的值为空时,您所做的以下操作将进行检查:

If DataGridViewReInfor.CurrentCell.Value Is Nothing Then
注意:在检查值是否为Nothing之前,需要检查CurrentCell是否为Nothing。这可能就是你得到例外的原因

If DataGridViewReInfor.CurrentCell Is Nothing Then 
但如果您的目的是在DataGridView包含行时进行检查,则需要询问行数:

If DataGridViewReInfor.RowCount>0 Then
或行数

If DataGridViewReInfor.Rows.Count > 0 Then

您的意思是
DataGridViewReInfor.RowCount=0
?您的意思是
DataGridViewReInfor.RowCount=0
?如果未选择任何单元格,您的第一行代码将遇到NullReferenceException。。。您必须首先检查
DataGridView.CurrentCell是否为Nothing
…这是正确的,但这不是重点或问题所在。问题是关于不包含行的DataGridView。更重要的是,我在回答中写道“…当特定单元格中的值为空时”。谢谢,除了这个问题,OP实际上面临一个NullReferenceException。。。因此,这是一个非常重要的问题。。。除此之外,无论在代码中的什么地方,都应该检查CurrentCell是否为Nothing,因为没有人知道是否正确选择了某个单元格…如果未选择任何单元格,则第一行代码将遇到NullReferenceException。。。您必须首先检查
DataGridView.CurrentCell是否为Nothing
…这是正确的,但这不是重点或问题所在。问题是关于不包含行的DataGridView。更重要的是,我在回答中写道“…当特定单元格中的值为空时”。谢谢,除了这个问题,OP实际上面临一个NullReferenceException。。。因此,这是一个非常重要的问题。。。除此之外,无论在代码中的什么地方,都应该检查CurrentCell是否为Nothing,因为没有人知道单元格是否被正确选择。。。