有一个列表控件ListView,从数据库中查询了n条(n>1000)数据,填充到列表,
点击列表标题排序后
listView1.ListViewItemSorter = new ListViewItemComparer(e.column ,true);
listView1.Sort();当再次查询时(清空列表中原来的数据,再重新填充新查询的数据)
ListView就不断刷屏,该怎样解决?

解决方案 »

  1.   

    当再次查询时(清空列表中原来的数据,再重新填充新查询的数据)
    ListView就不断刷屏,该怎样解决
    -------------
    从“重新填充”+”不断刷屏“
    猜测是你的排序被绑定时,没插入一数据就sort一次无测试,可以无视我的回答
      

  2.   

    没有绑定ListView,直接用ListViwe1.Items.Add()方式一条一条插入记录的.
    还有,我的环境是.NET FrameWork 1.1如果没有点击排序,则重新查询,插入记录不会发生闪屏?有没有办法禁止排序.
      

  3.   

    不好意思
    我看成需要刷屏了你看看是不是 Page_Load 里一些操作 比如刷新页面的操作 需要做一个 if (IsPostBack) 判断
    不然就不停地刷
      

  4.   

    自已搞掂,我搜索了几个贴子,相信有好些人遇到这个问题.
    其实,当列表控件使用排序后,再次填充会不断刷新屏幕,弄得屏幕不断闪烁的原因是:
    设置 ListViewItemSorter 属性的值导致自动调用 Sort 方法。
    也就是说:每插入一条记录,会重新调用一次Sort.解决办法是:每次查询后,将记录在插入列表控件之前将排序停掉.
    即在插入数据之前加入:
    this.listView1.ListViewItemSorter=null;