VB.net 排序列然后排序但保留行位置

布鲁斯

我可以通过自动排序模式对 datagridview 列进行排序。但我的问题是,当我将列设置为自动排序时,这意味着“状态”列始终处于排序模式,如果有任何数据更改,它将移动到排序模式之后的任何位置

在此处输入图片说明

在此处输入图片说明

我不要这个 我只想打开然后关闭排序但保留行位置。我是说:

步骤1:当用户更改“状态”列的状态时,不是对数据进行排序

步骤2:然后,当用户单击列标题时,它对数据进行降序排序

第 3 步:之后,当用户更改“状态”列的任何状态时,它不是排序而是保留数据网格视图中的行位置(这意味着状态更改的行,不会移动到任何地方)

有没有正确的方法来实现这一目标?谢谢你的帮助。

杰姆西尼

在这种情况下,我的建议如下:

  1. 如果您的网格尚未绑定到DataTable,请执行此操作。
  2. 添加一个额外的列到您DataTable的数据类型Integer
  3. 要么自己创建并绑定您的网格列,不要为该额外列创建一个,要么在绑定后隐藏该网格列。
  4. 根据需要对网格进行排序。
  5. 循环通过DefaultViewDataTable,依次设置额外的列中的值。
  6. 分配额外的列名的Sort财产DefaultView

就是这样。数据现在按该列中的数字序列排序,因此您可以对其余数据进行任何您想要的更改,而不会影响顺序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章