DataGridView要放入資料不一定要有「固定的資料來源」,也可以利用程式碼動態產生欄位,動態新增資料。
本篇就不使用拖拉,全部採用撰寫程式碼的方式,建立資料表格物件並顯示資料
先看結果: (文末附有完整程式碼)
正式開始:
先建立一個 DataGridView物件,並且把他加到目前的表單中(Form)
執行結果:
有正常加入至Form中,但是有點太小了,讓我們把他填滿整個Form
要顯示資料很簡單,先把資料儲存在 DataTable 中,之後再讓 DataGridView 直接顯示 DataTable 的所有資料即可。
本次示範我們放兩個欄位 id 和 name 在 DataTable 中,最後一行則是把 DataTable 呈現在 DataGridView 內
欄位就出現了!
執行結果:
延伸閱讀:C# 動態依照資料產生報表教學
完整程式碼:
其實程式碼都很簡單、一點也不複雜,只是不夠了解而已。剛好最近有人詢問相關的問題,於是簡要的寫了一篇,希望能夠幫助到有需要的人。
參考資料:
Microsoft.Learn - DataGridView Class
本篇就不使用拖拉,全部採用撰寫程式碼的方式,建立資料表格物件並顯示資料
先看結果: (文末附有完整程式碼)
正式開始:
先建立一個 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# 動態依照資料產生報表教學
完整程式碼:
其實程式碼都很簡單、一點也不複雜,只是不夠了解而已。剛好最近有人詢問相關的問題,於是簡要的寫了一篇,希望能夠幫助到有需要的人。
參考資料:
Microsoft.Learn - DataGridView Class
謝謝你,省了我一些時間研究
回覆刪除