如何让ListView刷新后保持原状态(WinForms)
effun 2013-07-04 09:29:26 环境说明:
WinForms的窗体上有一个ListView,View为Details,它使用ListViewGroup对行进行分组。为方便用户查看,行的背景色交替设置,也就是说奇数行和偶数行采用不同的背景色。
业务说明:
后台有一个程序会不定时地刷新ListView的数据,刷新后行可能会增加,也可能会减少。数据源中的每一条记录都有一个唯一值。
要求:
刷新后ListView的状态尽可能保持与刷新前相同,也就是说让用户只觉得界面闪了一下,但没有发生太大的变化 。主要涉及到以下几个方面:
1、保持原横向和纵向滚动条位置
2、保持原来已经选择的项
3、行的背景色可以变化,但仍旧保持交替色。
虽然我自己已经解决,但对解决方案并不满意,期待达人给出更好的解决方案。