Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 已跳过具有排序列的for each循环中的行_Vb.net_Sorting_Foreach_Datagridview - Fatal编程技术网

Vb.net 已跳过具有排序列的for each循环中的行

Vb.net 已跳过具有排序列的for each循环中的行,vb.net,sorting,foreach,datagridview,Vb.net,Sorting,Foreach,Datagridview,上下文: 我正在为每个循环使用更新DataGridView(DGV)。此DGV的列可以排序(并且必须经过许可),当我在循环中更新它时,排序仍然处于活动状态。因此,一旦处理循环中使用的行,如果排序列中的值已更改,它将移动 假设我们处理的是第一行,它移动,然后第二行变成第一行。在下一个循环中,它转到现在的第二行(第一行是第三行),并跳过最新的第一行。(这真的很好……现在我更好地理解了ForEach循环的工作原理!) 我尝试过的: 在DGV中使用ForEach对列执行任何操作之前,我已尝试禁用排序,并

上下文:

我正在为每个循环使用
更新DataGridView(DGV)。此DGV的列可以排序(并且必须经过许可),当我在循环中更新它时,排序仍然处于活动状态。因此,一旦处理循环中使用的行,如果排序列中的值已更改,它将移动

假设我们处理的是第一行,它移动,然后第二行变成第一行。在下一个循环中,它转到现在的第二行(第一行是第三行),并跳过最新的第一行。(这真的很好……现在我更好地理解了ForEach循环的工作原理!)

我尝试过的:

在DGV中使用ForEach对列执行任何操作之前,我已尝试禁用排序,并将它们更改为
NotSortable
,然后在最后将其重新设置为
Automatic
,但没有更改

我的问题:


是否有方法更新DGV的行,其中一列已排序,当我们修改任何内容时,排序没有生效?

您是否尝试过使用用于填充DGV而不是直接填充DGV的基础数据?@JayV我通过向DGV添加行来填充DGV,因此没有数据表或任何要处理的排序。可能有点解决方法,但是如果你在一个数据表中做所有的编辑,并在每次数据表改变的时候将数据表绑定到DataGridview会怎么样?这显然是最好的解决方案,我越是想象它,所以是的,我很确定我会这么做。因为我下周可能会做这件事,你知道排序之后会不会生效吗?我只能想象,在我们将一个新的数据表重新分配给DGV后,排序将重新设置所有行的范围,不会对任何内容进行排序,或者排序将不处于活动状态回答:排序将保持并在您加入新数据源时生效!谢谢@JayV和Alex!您是否尝试过使用用于填充DGV而不是直接填充DGV的基础数据?@JayV I通过向DGV添加行来填充DGV,因此没有数据表或任何类似的工作。可能是一种解决方法,但是如果你在一个数据表中做所有的编辑,并在每次数据表改变的时候将数据表绑定到DataGridview会怎么样?这显然是最好的解决方案,我越是想象它,所以是的,我很确定我会这么做。因为我下周可能会做这件事,你知道排序之后会不会生效吗?我只能想象,在我们将一个新的数据表重新分配给DGV后,排序将重新设置所有行的范围,不会对任何内容进行排序,或者排序将不处于活动状态回答:排序将保持并在您加入新数据源时生效!谢谢@JayV和Alex!