布鲁斯
我可以通过自动排序模式对 datagridview 列进行排序。但我的问题是,当我将列设置为自动排序时,这意味着“状态”列始终处于排序模式,如果有任何数据更改,它将移动到排序模式之后的任何位置
我不要这个 我只想打开然后关闭排序但保留行位置。我是说:
步骤1:当用户更改“状态”列的状态时,不是对数据进行排序
步骤2:然后,当用户单击列标题时,它对数据进行降序排序
第 3 步:之后,当用户更改“状态”列的任何状态时,它不是排序而是保留数据网格视图中的行位置(这意味着状态更改的行,不会移动到任何地方)
有没有正确的方法来实现这一目标?谢谢你的帮助。
杰姆西尼
在这种情况下,我的建议如下:
- 如果您的网格尚未绑定到
DataTable
,请执行此操作。
- 添加一个额外的列到您
DataTable
的数据类型Integer
。
- 要么自己创建并绑定您的网格列,不要为该额外列创建一个,要么在绑定后隐藏该网格列。
- 根据需要对网格进行排序。
- 循环通过
DefaultView
的DataTable
,依次设置额外的列中的值。
- 分配额外的列名的
Sort
财产DefaultView
。
就是这样。数据现在按该列中的数字序列排序,因此您可以对其余数据进行任何您想要的更改,而不会影响顺序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句