C#DataGridView检查是否为空

时间:2009-06-09 21:03:45

标签: c# datagridview

我有一个datagridview,它填充了linq查询返回的数据。 如果查询没有返回任何结果,我想显示一个消息框。 有没有办法检查datagridview是否为空?

此致

7 个答案:

答案 0 :(得分:29)

通过检查DataGridView中的行数,可以确定它是否为空。如果myDataGridView.Rows.Count == 0,那么您的DataGridView为空。

答案 1 :(得分:2)

如果选项DGV.Rows.Count设置为true,则检查DGV是否为空的AllowUserToAddRows方法无效。

你必须禁用AllowUserToAddRows = false,然后像这样检查空:

if (dataGridView1.Rows != null && dataGridView1.Rows.Count != 0)

答案 2 :(得分:2)

//这给出了行数= 1

if (dataGridView1.Rows.Count != 0 && dataGridView1.Rows != null)

//所以最后我修改了如下代码,它适用于我

if(dataGridView1.Rows.Count>1 && dataGridView1.Rows != null)

答案 3 :(得分:1)

根据Linq结果,您可以隐藏datagridview并显示一些显示消息的其他控件(如Literal或其他内容)。如果你想要某种消息框弹出窗口,你需要在那里抛出一些JavaScript。

答案 4 :(得分:1)

这里的很多答案都提到Rows.Count。通常情况下,这不会造成问题,并且在大多数情况下,做我即将建议的事情会有些过分。

但出于this document中提到的原因,如果Rows.Count经常有大量数据(DataGridView个单元格,则调用>~ 5000可能不是一个好主意我做了一段时间来验证那篇文章。

  

避免使用的Count属性   System.Windows.Forms.DataGridViewSelectedCellCollection确定   所选单元格的数量。相反,使用   DataGridView.GetCellCount方法并传入   DataGridViewElementStates.Selected值。DataGridViewRowCollection.GetRowCount同样,使用   DataGridViewColumnCollection.GetColumnCount和   myDataGridView1.Rows.GetRowCount(.) == 0 方法来确定   所选元素的数量,而不是访问所选行   和列集合。

在这种情况下,您可以使用

{{1}}

如果您没有处理快速变化的数据或大量数据(或更糟糕的是,大量快速变化的数据),那么只需使用Rows.Count - 它不会造成太大的伤害。

答案 5 :(得分:0)

您可以检查datagridview的Rows.Count属性。

虽然您可能还想查看DataGridView的EmptyDataText属性。它可能会让您无法显示消息框。

答案 6 :(得分:0)

这应该这样做:

dataGridView1.RowCount == 0
相关问题