2011-09-07 51 views
1

在我的DataGridView控件中,如果沒有要顯示的數據,控件將顯示一個空白屏幕。DataGridView:查看空數據網格

我們的規範要求的更像是Microsoft Excel中的空白屏幕。

是否有一個設置DataGridView控制,我應該爲此指定還是我需要手動折騰一些空白行到DataTable插入到那裏(從未嘗試過)?

如果我需要以編程的方式來做,那麼告訴我應該將多少行添加到空DataTable的最佳方法是什麼?

回答

2

即使DataTable爲空,設置DataGridView的Datasource屬性也會向您顯示至少包含列(在GridView標題中)的網格。如果你可以粘貼你使用的代碼,它可能有助於調試。

+0

目前還沒有驗證碼。我正在爲我們的應用開發構造。其他人將提供數據代碼。我只需要顯示一個DataGridView充滿空單元格而不是空白畫布以顯示數據。 – jp2code

1

我認爲你可以使用類似的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

1

沒有看到在做這樣的事情的任何問題:

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

這則網格定義的所有列後自然是。

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

顯然首先需要定義這些列的網格,並設置其相關的數據域。