C# WinForm 動態產生 DataGridView,動態新增資料 手把手教學

DataGridView要放入資料不一定要有「固定的資料來源」,也可以利用程式碼動態產生欄位,動態新增資料。
本篇就不使用拖拉,全部採用撰寫程式碼的方式,建立資料表格物件並顯示資料

先看結果:
(文末附有完整程式碼)

正式開始:
先建立一個 DataGridView物件,並且把他加到目前的表單中(Form)
  
DataGridView dataGridView = new DataGridView();
this.Controls.Add(dataGridView); // 新增到當前的 Form 中


執行結果:

有正常加入至Form中,但是有點太小了,讓我們把他填滿整個Form
  
dataGridView.Dock = DockStyle.Fill; // 填滿視窗


要顯示資料很簡單,先把資料儲存在 DataTable 中,之後再讓 DataGridView 直接顯示 DataTable 的所有資料即可。
本次示範我們放兩個欄位 id 和 name 在 DataTable 中,最後一行則是把 DataTable 呈現在 DataGridView 內
  
DataTable dataTable = new DataTable();
dataTable.Columns.Add("id", typeof(int));
dataTable.Columns.Add("name", typeof(string));
dataGridView.DataSource = dataTable;


欄位就出現了!

塞入資料

注意,這裡欄位是從0開始,不能新增超過 DataTable 中的欄位,所以在本次示範中只能有兩個欄位
  
for (int i = 0; i < 10; i++)
{
    DataRow row = dataTable.NewRow();
    row[0] = i;
    row[1] = "name" + i;
    dataTable.Rows.Add(row);
}
    

延伸顯示區域

但是目前這樣有點不好看,周圍有空白,希望可以全部填滿,那就使用下面這行
  
dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
    


執行結果:

延伸閱讀:C# 動態依照資料產生報表教學

完整程式碼:
其實程式碼都很簡單、一點也不複雜,只是不夠了解而已。剛好最近有人詢問相關的問題,於是簡要的寫了一篇,希望能夠幫助到有需要的人。

留言

張貼留言

如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com