我是刚开始学习的.大家多关照:)
想把一个数据表里的所有数据显示在浏览器上,如果用DataGrid可以进行分页显示 但想分别在不同的页面显示不同的数据就得多处用到DataGrid,并且每次都得对DataGrid进行分页操作,那样会很麻烦,有没有办法重用这些分页的代码呢?
或者不用DataGrid也行,只要是能把数据分页显示出来就行,就像有一个函数那样,输入一个dataset表,就可以跟据dataset表自己分页,并显示在浏览器上?刚刚看到很多用存储过程分页的把我头都看大了,没懂!
我刚刚学习.麻烦说的详细一点.

解决方案 »

  1.   

    存储过程分页麻烦的话试试用DataTabel的一些方法能够同样完成的
      

  2.   

    还是不太懂啊,用datatabel怎么写呢?写完的东西能做成类或别的什么吗?可以重复调用的.
      

  3.   

    DataGrid进行分页操作很简单的啊~~
    就俩行
    快的
      

  4.   

    pageSize 每页显示数量
    page 当前页数
    string sql = "SELECT TOP " + pageSize + " Value1,Value2 FROM Table WHERE Id NOT IN (SELECT TOP " + (page-1)*pageSize + " Id FROM Table ORDER BY Id) ORDER BY Id";
      

  5.   

    -- 编写人:张祖涛
    /*
    数据库分页存储过程
    参数说明:
      tablename为搜索表名
      tablefield为表的字段,约定为表的主键,
      where为搜索表名,要显示所有记录请设为"1=1"
      orderby为搜索结果排序,如order by id desc
      curpage当前页码
      page_record每页记录条数
    结果:
      返回表tablename中满足条件where的第curpage页的page_record条记录,结果按orderby排序
    */
    CREATE PROCEDURE OGuess_CommonPaging@tablename varchar(50),
    @tablefield varchar(20),
    @where varchar(500),
    @orderby varchar(100),
    @curpage int,
    @page_record intASBEGIN  DECLARE @cmd varchar(500)
      DECLARE @uprecord int
      SET @uprecord=@curpage * @page_record
      SET @cmd='SELECT TOP '+cast(@page_record as char)+' * FROM '+@tablename+' WHERE '+@where+' and '+@tablefield+' not in (SELECT TOP '+cast(@uprecord as char)+' '+@tablefield+' FROM '+@tablename+' WHERE '+@where+' '+@orderby +') '+@orderby
      EXEC(@cmd)  
    END
    GO