怎么给table分页?c#语言,不要用控件,要Ajax的,数据库sql的。

用C#做分页,前端用Ajax,分为三层架构,怎么做?最好有例子,,不然就说清楚过程。。... 用C#做分页,前端用Ajax,分为三层架构,怎么做?最好有例子,,不然就说清楚过程。。 展开
 我来答
卢卢卢卢卢卢卢
2014-10-03 · 超过21用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:19.6万
展开全部

分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页的数据集

查询出来的内容,类似如下:



希望对你有用

老师你的烟掉了
2014-10-05 · 超过17用户采纳过TA的回答
知道答主
回答量:43
采纳率:100%
帮助的人:30.1万
展开全部
SELECT Top 【每页显示的数量】*
FROM 【表名】
WHERE id NOT IN
(SELECT Top 【每页显示的数量】*【第几页】 id
FROM 【表名】
ORDER BY UnitPrice,【根据那个键排序】)
ORDER BY UnitPrice,【根据那个键排序】
请采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1987LIAOHANG
2014-09-28 · 超过17用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:36万
展开全部
用存储过程就可以 分页存储过程 代码很少
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清水栞
推荐于2016-01-16 · TA获得超过1547个赞
知道小有建树答主
回答量:1538
采纳率:50%
帮助的人:967万
展开全部
1、你要写一个支持分页的SQL语句,需要能根据传入的页数和每页多少行,进行数据的筛选
2、HTML放置hidden控件,用于记录当前是第几页
3、程序或配置中需要有一个参数表示每页显示多少行
4、根据这两个值,就可以得到你需要的第X页的所有数据
5、展示它们
追问
我现在的做法是:当前数据已经显示在页面上了,从数据库中读取3条(top),然后用count计算数据库中数据的总条数,根据这个来算总页数,当前页初始化就定为1,然后加起来就是第几页和总页数,但是有两个问题,我从数据库读出来的总页数在页面上不自动显示,而且下一页的数据也显示不出来,,是这样的一个问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式