ObjectDataSource定义了两个方法
一个是获取分页数据的方法GetPageData
另一个是获取总条数的方法ScalarQuery
当我指定了搜索条件FilterExpression后,listview显示的数据是正确的,
但是页数还是按照没有条件时显示,也就是显示所有的页数,别没有受我的搜索条件影响
请问各位前辈,我还需要设置什么?

解决方案 »

  1.   

    用Listview显示数据库的信息,如果信息太多,必须要分页。
      这里有两种方法:
      一种是:Listview是不支持分页功能的。但可以结合控件DataPager对Listview进行分页,可以将DataPager控件添加到Listview控件的<LayoutTemplate></LayoutTemplate>中,或者放在ListView控件的外面,这里要注意将DataPager控件的PagedControlID属性值设为ListView的ID。
      第二种是,在从数据库中读取信息时就分页读取。
     假设你想从数据库中读取某一信息,并且按照某一列进行降序排序,我们可以这么做:
      一:取出表中按某一列进行降序排序的前count行
       SELECT TOP count * FROM [TABLE] WHERE [] ORDER BY [] DESC
      二:取出这count行中后面的count1行,则可以这样写SELECT语句: 
        SELECT TOP count1 * FROM (SELECT TOP count * FROM [TABLE] WHERE [] ORDER BY [] DESC
    ) a ORDER BY []  ASC
      三:取出的这count1行进行按某一列的降序排序,可以这么写:
       SELECT * FROM (SELECT TOP count1 * FROM (SELECT TOP count * FROM [TABLE] WHERE [] ORDER BY [] DESC) a ORDER BY []  ASC) b ORDER BY [] DESC 
    这样就可以实现Listview的分页显示了。
      

  2.   


    我问的是datapager的页数怎么计算