datagridview數(shù)據(jù)綁定 DataGridView固定了列名,怎樣將數(shù)據(jù)內(nèi)容綁定在列上?
DataGridView固定了列名,怎樣將數(shù)據(jù)內(nèi)容綁定在列上?其實(shí)很簡單,在DataGridView上右鍵選擇編輯列,在數(shù)據(jù)一項(xiàng)中找到DataPropertyName,在里面寫上對(duì)應(yīng)的要綁定的數(shù)據(jù)中的
DataGridView固定了列名,怎樣將數(shù)據(jù)內(nèi)容綁定在列上?
其實(shí)很簡單,在DataGridView上右鍵選擇編輯列,在數(shù)據(jù)一項(xiàng)中找到DataPropertyName,在里面寫上對(duì)應(yīng)的要綁定的數(shù)據(jù)中的字段名,即可。比如:從數(shù)據(jù)庫中選擇的datatable的第一列的字段名為:”編號(hào)“,則在DataPropertyName里寫上“編號(hào)”,顯示是顯示HeaderTest屬性里的內(nèi)容,DataPropertyName只是用于綁定。DataGridView的AutoSizeColumnsMode設(shè)置為DisplayedCells,則把一行中的數(shù)據(jù)都顯示出來,但是不能拉動(dòng)改變列寬。
DataGridView固定了列名,怎樣將數(shù)據(jù)內(nèi)容綁定在列上?
Winfrom中的DataGridView其實(shí)就是一個(gè)數(shù)組的視圖。
你的這個(gè)要求有兩種常見的方式去解決,
DataGridView.Name = dg 數(shù)據(jù)庫查詢的結(jié)果為DataTable dt
1,直接視圖綁定:
把DataGridView的AutoGenerationColumn 設(shè)置為true(自動(dòng)增加列),然后綁定
dg.DataSource = dt
綁定之后 DataGridView就會(huì)根據(jù)dt的列來自動(dòng)顯示了。
但是如果想更改列頭的名稱,就需要在查詢的時(shí)候做好, 比如
select id as "序號(hào)",name as "姓名" from xxxx.....
綁定后,列頭就是序號(hào)、姓名、
2.列綁定,
很麻煩,一般用于特殊的組合表查詢。
比如數(shù)據(jù)庫查詢出的dt只有一列, 列頭是Name。 想綁定到DataGridView指定的列(如第2列), 那么需要指定DataGridView的第二列,指定數(shù)據(jù)類型(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])//把數(shù)據(jù)庫的字段一個(gè)個(gè)的加入到指定列里面,
}