分页功能

我现在做的是WPF中的分页功能,首先,得来到数据库创建存储过程,创建好后,申明要用到的变量,我这变量有表名、需要返回的列、排序的字段名、页尺寸、页码、返回记录总数,非0值则返回、设置排序类型,非0值则降序还有就是查询条件,记住不用加Where。下面还有些是主语句、临时变量、截取后的临时变量,排序类型。接下来就是各种判断,第一个判断是判断@doCount传递过来的是不是0,如果不是就执行总数统计,而下面的判断都是为0的情况。第二个判断是如果@OrderType不为0,就执行降序。第三个判断是如果是第一页就执行以上的代码,这样可以加快执行的速度。最后的代码是赋予@strSQL执行SQL代码
在这里插入图片描述
在这里插入图片描述
搞完存储过程后,就是到服务端写代码了,首先是定义一个服务协议,实例化数据层,然后定义一个服务契约,创建一个方法,实例化对象数组,在数组里面定义传递过来的参数以及参数类型,然后给对象赋值。
获取存储过程的名称,缓存数据,把参数添加到DataTable集合中。写完后执行一下,然后到客户端写代码。
在这里插入图片描述
来到客户端这边,添加服务引用,这里要用到一些全局变量,使用要申明一下。接下来在页面加载事件中初始化分页控件变量。之后就是做分页功能,首先给分页按钮各个事件(鼠标左键按下事件),我这第一个是首页,首先是判断当前显示页数是否等于1。第二个是上一页:也是判断当前显示页数是否等于1,这里—是索引减一。设置文本值显示当前页。第三个是当前页(文本改变事件):首先是屏蔽中文输入和非法字符粘贴输入。下面还有就是判断是否为0,如果判断输入数字大于总页数,就把获取数值等于总页数。还有就是判断输入数字是否大于1,如果是就把获取数值等于1,以及判断当前输入的数值等于现在的页数,然后就执行分页。第四个是下一页:和上一页差不多,就是把intPageIndex改为++;第五个是尾页,判断是否等于1,获取最大页数。第六个是显示条数(下拉框),首先是获取每页行数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来就是分页查询的方法,首先前面是累加模糊查询的内容,然后是获取数据的总行数,之后是判断页数的几种情况。第一是判断页数有多少页,第二是判断如果当前页数大于最大页数,则重新赋值为最大页数;第三判断是如果当前页数为0,则重新赋值为1。判断完后就是给最大页数赋值和给当前页文本框赋值,以及执行分页得到的具体的data数据。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值