现需要写个提供下载ppt的网站,想要实现分页显示,又不想用自带的控件,不知道该怎么办啊 ,希望各路豪杰指点指点啊

解决方案 »

  1.   

    其实ObjectDataSource就支持存储过程分页。如果不涉及Sort,大概的步骤是:
    1、写一个存储过程,如果是sql Server 05/08,那么
    create proc 存储过程名
    (
    @startRowIndex int,
    @maximumRows int,
    @sortExpression nvarchar(50)
    )
    as
    IF LEN(@sortExpression) = 0
        SET @sortExpression = '字段名 DESC'DECLARE @sql nvarchar(4000)SET @sql = 'select 字段列表 from (select 字段列表, ROW_NUMBER() OVER (ORDER BY ' + @sortExpression + ') AS RowRank FROM 表或视图名) as 随便起一个名 WHERE RowRank > ' + CONVERT(nvarchar(10),@startRowIndex) + ' AND RowRank <= (' + CONVERT(nvarchar(10), @startRowIndex) + '+' CONVERT(nvarchar(10),@maximumRows) + ')'EXEC sp_executesql @sql存储过程中的@startRowIndex, @maximumRows, @sortExpression,这几个变量名最好不要变。2、然后给项目加一个数据集,Select方法选择这个存储过程。
    3、在aspx上拖一个GridView,指定数据源为ObjectDataSource,Select方法选择XXDataAdapter.某某某。
    ObjectDataSource的EnablePaging设为true,把<SelectParameters>通通删掉,因为startRowIndex,maximumRows会自动从GridView传到ObjectDataSource, ObjectDataSource的startRowIndexParameterName, maximumRowsParameterName保留原样,sortExpressionParameterName设为sortExpression....
    好像差不多了。不过还有一个之前就要做的,就是在强类型数据集里加一个返回数据总数的东东,sql写成select count(*) from 表名。
    ObjectDataSource的SelectCountMethod对应这个就行了。大概步骤就这些。
      

  2.   

    存储过程分页 没怎么看懂 ~~~~(>_<)~~~~ !
      

  3.   

    用分页存储过程 在用上linkbutton控件 用url来传值
      

  4.   

    可以通过存储过程或者直接是 select top n 这样的形式实现
    如果是用datagrid  或gridview这样控件分页的话网络上有很多。
    可以到http://dotnet.aspx.cc/上面看看。
      

  5.   

    分页的存储过程
    create proc proc_page
    @pagesize int, 
    @pageindex int,当前页
    @typeid int
    as
    declare @sql varchar(255)
    set @sql='select top '+ str(@pagesize) + 'd.id,d.name,d.money,t.name,u.name,d.data '
    + ' from Details as d,type as t,userinfo as u'
    + ' where typeid='+ str(@typeid) +' and d.typeid=t.id and d.userid=u.id' 
    + ' and d.id not in (select top' +str((@pageindex-1) * @pagesize) +' id from Details where typeid=' +str(@typeid)+ ')'
    exec(@sql)
    GO
      

  6.   

    AspnetPager