怎么给table分页?c#语言,不要用控件,要Ajax的,数据库sql的。
4个回答
展开全部
分2个步骤:
第一:你需要在数据库中自己写一个分页的SQL 存储过程,返回当前页的数据
第二:你需要在C#调用存储过程返回的数据,给html
以下是我自己写的一段分页内容,你可以借鉴下:
CREATE procedure [dbo].[SP_pagination]
(
@sqlstr nvarchar(4000), --查询字符串 自己拼写的sql语句
@pageindex int,--第N页
@pagesize int--每页行数
)
as
set nocount on
declare
@P1 int, --P1是游标的id
@rowcount int
if(@pageindex<1)
begin
set @pageindex=1
end
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
select @rowcount as [Count],ceiling(1.0*@rowcount/@pagesize) as [PageCount],@pageindex as PageIndex
set @pageindex=(@pageindex-1)*@pagesize+1
exec sp_cursorfetch @P1,16,@pageindex,@pagesize
exec sp_cursorclose @P1
传参例如:
@sqlstr select * from A
@pageindex 1
@pagesize 10
取出A表中的第一页内容,每页显示10条数据
你自己通过C#语言,访问这个存储过程
返回的Table有4个
其中下标为1 也就是第二个Table:三个返回列
Count A表中根据查询条件后的总数据
PageCount A表中根据查询条件后的总页数
PageIndex 当前页
下标为2 也就是第三个Table:第1页的数据集
查询出来的内容,类似如下:
希望对你有用
展开全部
SELECT Top 【每页显示的数量】*
FROM 【表名】
WHERE id NOT IN
(SELECT Top 【每页显示的数量】*【第几页】 id
FROM 【表名】
ORDER BY UnitPrice,【根据那个键排序】)
ORDER BY UnitPrice,【根据那个键排序】
请采纳
FROM 【表名】
WHERE id NOT IN
(SELECT Top 【每页显示的数量】*【第几页】 id
FROM 【表名】
ORDER BY UnitPrice,【根据那个键排序】)
ORDER BY UnitPrice,【根据那个键排序】
请采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用存储过程就可以 分页存储过程 代码很少
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、你要写一个支持分页的SQL语句,需要能根据传入的页数和每页多少行,进行数据的筛选
2、HTML放置hidden控件,用于记录当前是第几页
3、程序或配置中需要有一个参数表示每页显示多少行
4、根据这两个值,就可以得到你需要的第X页的所有数据
5、展示它们
2、HTML放置hidden控件,用于记录当前是第几页
3、程序或配置中需要有一个参数表示每页显示多少行
4、根据这两个值,就可以得到你需要的第X页的所有数据
5、展示它们
追问
我现在的做法是:当前数据已经显示在页面上了,从数据库中读取3条(top),然后用count计算数据库中数据的总条数,根据这个来算总页数,当前页初始化就定为1,然后加起来就是第几页和总页数,但是有两个问题,我从数据库读出来的总页数在页面上不自动显示,而且下一页的数据也显示不出来,,是这样的一个问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询