AspNetPager控件小问题 AspNetPager1.RecordCount = (int)cmd.ExecuteScalar();这一句不明白
我看帮助文档的时候说RecordCount这个属性是当页面第一次加载时,应以编程方式将从存储过程或Sql语句中返回的数据表中所有要分页的记录的总数赋予该属性
应该赋给它使用的行才对
但是赋给它的却是第一行的的一列 为什么啊
我用的是存储过程:
这样的:
CREATE procedure pro_order
(@pagesize int,
@pageindex int,
@docount bit)
as
set nocount on
if(@docount=1)
select count(OrderID) from Orders
else
begin
declare @indextable table(id int identity(1,1),nid int)
declare @PageLowerBound int
declare @PageUpperBound int
set @PageLowerBound=(@pageindex-1)*@pagesize
set @PageUpperBound=@PageLowerBound+@pagesize
set rowcount @PageUpperBound
insert into @indextable(nid) select OrderID from Orders order by RequiredDate desc
select O.* from Orders O,@indextable t where O.OrderID=t.nid
and t.id> @PageLowerBound and t.id <=@PageUpperBound order by t.id
end
set nocount off
GO
------解决方案--------------------@docount参数的值为true时返回的才是分页的总记录数,否则就是你上面说的第一条记录的第一列字段的值了。
------解决方案--------------------对,楼主显然是没仔细看这一句
if(@docount=1)
select count(OrderID) from Orders
else
所以这个存储过程等于是有两个作用,当然LZ可以自己稍微改一下,只要自己理解就行,不一定全要用那一套的
------解决方案--------------------哇,总裁亲自解答。
哈哈