2013-07-10 26 views
0

我的問題是dtJoin結果datagrid不一樣的選擇查詢列的順序。vb.net LINQ導致datagridview的變革列順序選擇

這表明Address場第一則ClientCd然後ClientName然後MemberCd

我不知道爲什麼它顯示在列名的順序結果的原因是什麼?

我的代碼是

Dim dtClient As DataTable 
dtClient = getDataTable_sql(SqlStr, SQLCnn) 
dtJoin = (From C In dtClient Select C!MemberCd, C!ClientCd, C!Address, C!ClientName).ToList 
DataGridView1.DataSource = dtJoin 

請人幫我

+0

我從來沒有見過這種語法,這些'!'做什麼? –

+0

1)如果要更改列順序,請在sql語句中更改它。 2)你是否設置了數據網格來自動生成列或添加了列定義? –

+0

@TimSchmelter這些是字典成員訪問表達式,看看在[語言規範(http://msdn.microsoft.com/en-us/library/aa712034%28VS.71%29.aspx) – sloth

回答

0

設置的DataGridView1DataSourceNothing重裝數據源之前。

Dim dtClient As DataTable 
dtClient = getDataTable_sql(SqlStr, SQLCnn) 
dtJoin = (From C In dtClient Select C!MemberCd, C!ClientCd, C!Address, C!ClientName).ToList 
'------------------- 
DataGridView1.DataSource = Nothing 
'------------------- 
DataGridView1.DataSource = dtJoin 
+0

我試圖告訴設置datagridview1.datasource =沒有,但它不工作 – Niralee