DataGridView:查看空数据网格

问题描述:

在我的DataGridView控件中,如果没有要显示的数据,控件将显示一个空白屏幕。DataGridView:查看空数据网格

我们的规范要求的更像是Microsoft Excel中的空白屏幕。

是否有一个设置DataGridView控制,我应该为此指定还是我需要手动折腾一些空白行到DataTable插入到那里(从未尝试过)?

如果我需要以编程的方式来做,那么告诉我应该将多少行添加到空DataTable的最佳方法是什么?

恐怕看起来您需要动态填充行和列。采取下面的帖子一看:

Making a DataGridView look like an Excel sheet

+0

这就是我想我必须做的。 – jp2code

即使DataTable为空,设置DataGridView的Datasource属性也会向您显示至少包含列(在GridView标题中)的网格。如果你可以粘贴你使用的代码,它可能有助于调试。

+0

目前还没有验证码。我正在为我们的应用开发构造。其他人将提供数据代码。我只需要显示一个DataGridView充满空单元格而不是空白画布以显示数据。 – jp2code

我认为你可以使用类似的GridView的“EmptyDataTemplate”和你想要的列显示一些静态表。

希望这可以有一些帮助!

+0

这是一个'DataGridView'(Windows窗体)。它没有''EmptyDataTemplate''像'GridView'控件。 :( – jp2code

+0

请检查下面的链接,说明如何在win窗体中完成相同的操作http://stackoverflow.com/questions/5866458/how-to-creating-emptydatatext-for-datagridview-in-windows-application – Praveen

+0

+1不过,因为用'DataGridView'搜索'EmptyDataTemplate'已经显示我有很多其他人已经尝试过。 – jp2code

没有看到在做这样的事情的任何问题:

for (int i = 0; i < number_of_emptyrows; i++) 
    { 
     dgv.Rows.Add(new DataGridViewRow()); 
    } 

这则网格定义的所有列后自然是。

可以使下面的空网格:

private void showemptygrid() 
    { 
     DataTable table = new DataTable(); 
     table.Columns.Add("ID", typeof(string)); 
     table.Columns.Add("Name", typeof(string)); 
     table.Columns.Add("Date", typeof(string)); 


     for (int i = 0; i < 20; i++) // add 20 empty rows 
     { 
      DataRow dr = table.NewRow(); 
      dr["ID"] = ""; 
      dr["Name"] = ""; 
      dr["Date"] = ""; 
      table.Rows.Add(dr); 
     } 
     grid_logs.DataSource = table; 
     grid_logs.DataBind(); 
    } 

显然首先需要定义这些列的网格,并设置其相关的数据域。