繁体   English   中英

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

[英]VB.net sort column then sort off but retain rows position

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

在此处输入图片说明

在此处输入图片说明

我不要 我只想先排序然后关闭,但保留行位置。 我的意思是:

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

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

步骤3:此后,当用户更改“状态”列的任何状态时,它不是排序而是在datagridview中保留行位置(这意味着状态已更改的行不会移至任何位置)

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

这是我在这种情况下的建议:

  1. 如果您的网格尚未绑定到DataTable ,请这样做。
  2. DataTable添加一个额外的列,其数据类型为Integer
  3. 您自己创建和绑定网格列,而不为该额外的列创建网格列,或者在绑定后隐藏该网格列。
  4. 根据需要对网格进行排序。
  5. 遍历DataTableDefaultView并依次在Extra列中设置值。
  6. 将该额外的列的名称分配给DefaultViewSort属性。

而已。 现在,数据将按照该列中的数字顺序进行排序,因此您可以对其余数据进行任何所需的更改,而不会影响顺序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM