Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vb.net linq导致datagridview选择并更改列顺序_Vb.net_Linq_Datagridview - Fatal编程技术网

vb.net linq导致datagridview选择并更改列顺序

vb.net linq导致datagridview选择并更改列顺序,vb.net,linq,datagridview,Vb.net,Linq,Datagridview,我的问题是dtJoin导致的datagrid与select查询列顺序中的结果不同 它首先显示Address字段,然后显示ClientCd然后显示ClientName然后显示MemberCd 我不知道为什么它会按列名的顺序显示结果 我的代码是 Dim dtClient As DataTable dtClient = getDataTable_sql(SqlStr, SQLCnn) dtJoin = (From C In dtClient Select C!MemberCd, C!ClientCd,

我的问题是
dtJoin
导致的
datagrid
与select查询列顺序中的结果不同

它首先显示
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

在重新加载数据源之前,请任何人帮助我将
DataGridView1
DataSource
设置为
Nothing

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

我从未见过这种语法,这些
是什么意思
do?1)如果要更改列顺序,请在sql语句中进行更改。2) 您是否已将datagrid设置为自动生成列或添加了列定义?@TimSchmelter这些是字典成员访问表达式,请查看@DominicKexel:谢谢。从未使用过(或错过)它们。然而,出于好奇,C#中是否有对等词?@TimSchmelter不,我不这么认为。它只是VB6/VBA遗留版本的一部分,通常被称为Bang运算符。我尝试设置datagridview1.datasource=nothing,但它不起作用