首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

DataGridView排序后,修改数据后行的顺序立即变动?如何让这行还在原位置

2012-03-13 
DataGridView排序后,修改数据后行的顺序立即变动?怎么让这行还在原位置?我用的是WinForm DataView、DataGri

DataGridView排序后,修改数据后行的顺序立即变动?怎么让这行还在原位置?
我用的是WinForm DataView、DataGrid、DataGridView排序都是同一个问题。 
修改数据后行的顺序立即变动,当数据多时不知道跑到那行了,想改后面列的也找不到此行了! 

排序后能否不立即变动行的顺序呀,请高手指点! 

例如:根据金额排序 
金额 
90 
100 
150 

如果把150更改为60后,第三行数据立即跑到第一行。 <---- 这点不好 

我的想法是:修改后仍保持在第三行,想什么时候再排序的话,用代码操作。 

我试过把在KeyPress事件中加入dataGridView1.allowsorting=false;
但是这样刚排好的顺序又变回去了,如
进入时是
100
90
150
当按升序排序时,是
90
100
150
当按键后,记录变回原来的情况了
100
90
150



[解决办法]
你用的DataGrid吧?DataGridView没有AllowSorting属性
建议使用DataGridView,DataGrid是被淘汰的控件.
你可以设置DataGridViewColumn的SortMode = Programmatic 或 NotSortable.
来自己处理排序的时机和方式
[解决办法]
this.dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
禁止排序,取消排序重新绑定数据
点击按钮后重新排序
或设置标识,判断标识是否排序

[解决办法]
数据修改后,页面不重新绑定就可以了。
[解决办法]
排序规则不要用默认的
[解决办法]
关闭默认排序。。
手动控制
[解决办法]
不排序就可以了,或者修改后先记住修改前的下一个数据的ID,刷新后直接定位(选中状态)下一个数据
[解决办法]

探讨

你用的DataGrid吧?DataGridView没有AllowSorting属性
建议使用DataGridView,DataGrid是被淘汰的控件.
你可以设置DataGridViewColumn的SortMode = Programmatic 或 NotSortable.
来自己处理排序的时机和方式

热点排行