Winfrom中的DataGridView其實就是一個數組的檢視。
你的這個要求有兩種常見的方式去解決,
DataGridView.Name = dg; 資料庫查詢的結果為DataTable dt;
1,直接檢視繫結:
把DataGridView的AutoGenerationColumn 設定為true(自動增加列),然後繫結
dg.DataSource = dt;
繫結之後 DataGridView就會根據dt的列來自動顯示了。
但是如果想更改列頭的名稱,就需要在查詢的時候做好, 比如
select id as "序號",name as "姓名" from xxxx.....
繫結後,列頭就是序號、姓名、
2.列繫結,
很麻煩,一般用於特殊的組合表查詢。
比如資料庫查詢出的dt只有一列, 列頭是Name。 想繫結到DataGridView指定的列(如第2列), 那麼需要指定DataGridView的第二列,指定資料型別(string看、int看)然後遍歷dt,把dt的每一行都加入到這一列的Items裡面去。
如
var col = dg.Columns[1] ; //第二列
col.Type = Typeof["string"];
foreach(var cell in dt.Rows) //遍歷dt
{
col.Items.Add((string)cell[0]);//把資料庫的欄位一個個的加入到指定列裡面,
}
Winfrom中的DataGridView其實就是一個數組的檢視。
你的這個要求有兩種常見的方式去解決,
DataGridView.Name = dg; 資料庫查詢的結果為DataTable dt;
1,直接檢視繫結:
把DataGridView的AutoGenerationColumn 設定為true(自動增加列),然後繫結
dg.DataSource = dt;
繫結之後 DataGridView就會根據dt的列來自動顯示了。
但是如果想更改列頭的名稱,就需要在查詢的時候做好, 比如
select id as "序號",name as "姓名" from xxxx.....
繫結後,列頭就是序號、姓名、
2.列繫結,
很麻煩,一般用於特殊的組合表查詢。
比如資料庫查詢出的dt只有一列, 列頭是Name。 想繫結到DataGridView指定的列(如第2列), 那麼需要指定DataGridView的第二列,指定資料型別(string看、int看)然後遍歷dt,把dt的每一行都加入到這一列的Items裡面去。
如
var col = dg.Columns[1] ; //第二列
col.Type = Typeof["string"];
foreach(var cell in dt.Rows) //遍歷dt
{
col.Items.Add((string)cell[0]);//把資料庫的欄位一個個的加入到指定列裡面,
}