DataGridView:查看空数据网格

时间:2011-09-07 18:57:18

标签: c# .net winforms datagridview

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

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

DataGridView控件上是否有我应该为此指定的设置,或者我需要手动将多个空白行放入DataTable以插入其中(从未尝试过)?

如果我需要以编程方式执行此操作,那么告诉我应该向空DataTable添加多少行的最佳方法是什么?

5 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

我很害怕,但看起来你需要动态填充行和列。看看以下帖子:

Making a DataGridView look like an Excel sheet

答案 2 :(得分:1)

我认为您可以使用类似GridView的“EmptyDataTemplate”,并根据需要显示一些带有列的静态表。

希望这可能有所帮助!!

答案 3 :(得分:1)

在制作这样的东西时看不出任何问题:

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

在您定义网格中的所有列之后,这很自然。

答案 4 :(得分:1)

你可以制作一个空格,如下所示:

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();
    }

显然,首先需要使用这些列定义网格并设置相关的数据字段。