分页这块的属性绑定通过页面可以看到有:最大页,就是最后一页、总条数,就是左边那块的总条数绑定,当前页,就是(第页)跳转页跳转到页,然后是表格的收入记录的绑定。
第三块位置则是分页操作的局部变量
当属性全部设置好之后,就来写方法的代码, 已知条件:
总条数是用showCount来设置的,这个可以根据自己页面的大小来决定多少,
创建一个方法,trycatch捕捉错误,然后清空页面显示临时表的数据,然后设置每一页要显示的条数为13,接着就是用linq语句查询到收入的数据,并且赋值给临时表格listIncomes,
From tb账号明细表 in 数据库.账号明细表
条件 tb账号明细表.资金状况 = 收入
查询 new AccountVO(临时存放物理模型)
{
账号明细ID
金额
资金来由
时间
备注
资金状况
}.ToList();
Linq语句写好后,还需要判断日期是否选中,日期包括开始日期和结束日期。
首先判断不能为空,然后进行类型转换,将开始日期和结束日期转换为DateTime类型。
日期筛选
数据库的数据>=decStart(页面中选中的开始日期)并且数据库中的数据<=decEnd(页面中选中的结束日期).ToList();
count总数等于ListIncomes临时列表的总数。
判断总数是否大于0,大于0的话进行下一步,首先for循环,自定义序号,i+1;
remainder定义的是分页后的余数,余数=数据库中的条数除以显示的条数,如果除的尽,则显示为一页,除不尽的话,就将剩余的分为第二页,在第二页中显示。
最后一条数据的索引,则是总数减去1,则是最大的索引。
判断count总数是否小于每一页要显示的条数13
然后是判断总数是否小于设置的每一页显示的条数showCount,这里分为两种情况,一种是小于的情况,一种是大于的情况首先是小于的情况:小于的情况下,设置总页数,将余数=总条数,用for循环赋值
大于的情况下,也存在两种情况 26 % 13 =0 /13 % 13=0一种是超出一页的情况,一种是刚好一页的情况。超出的情况下 设置总页数=总条数(数据库中总条数)/每一页显示的条数(13)
余数大于0,页数则是(count/showCount)+1
最后是for循环添加数据。
然后是分页的属性设置,当前页数,第一页,最后一页数据开始索引则是allPage总页数减去1在乘以showCount显示的总条数,这就是最后一页数据的开始索引,最大页就是总页数,总条数就是count总数,当前页就是首页,然后绑定表格数据。
否则显示消息框,提示数据为空,并且将最大页总条数设置为0,当前页为1页,表格数据为null空