今天在做一個簡單的DataGridView新增、修改、刪除功能時,發現在我增加一個ID欄位后所有的ColumnIndex出現位移,都增加了1,首先說明DataGridView的Columns我已經都綁定了并排序;
問題很明顯是增加了一個欄位出現的問題,我就開始排查:
1、檢查ColumnUI設置,沒有發現問題
2、檢查 fr_Main.Designer.cs文件,也沒有發現問題
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column1,
this.Column2,
this.Column3,
this.Column4,
this.Column5,
this.Column6,
this.Column7,
this.Column8,
this.Column9});
只是發現因為Column9我沒有設置ColumnHeader,少了一個,增加上去還是沒有效果;
3、在我回頭檢查SQL語法時,發現了我增加的欄位ID,放置在select後面,難不成是這個影響了dataGridView的Columns排序
原語句:
string strSQL = "select ID,trim(mr01) as mr01,trim(mr02) as mr02,trim(mr03) as mr03,mr04,mr05,trim(mr06) as mr06,mr07,mr08 ";
修改后:
string strSQL = "select trim(mr01) as mr01,trim(mr02) as mr02,trim(mr03) as mr03,mr04,mr05,trim(mr06) as mr06,mr07,mr08,ID ";
此時一切正常;不知道大家有沒有遇到這么簡單的問題,感覺沒有面向dataGridView對象保持一致;