web后台分页的处理
1. 想我们知道的,web后台,接受查询条件,当前页,每页实现数目,执行返回查询数据集合,和显示的总页数,一般如果需要实现
合计信息(一般在查询页面的最后一页实现分页信息)
如何实现
一般在web后台计算出总页数,如果当前页pageCurr等于总页数pageMax,将查询sql和计算合计信息的sql进行拼接,一起返回到页面上,需要注意的是,进行union all 拼接
两个sql的列名和列的类型都要执行,不然数据库执行会报错
代码如下:
this.sQuerySumSql=
" select "
+ " '合计' serial_no , "
+ " ' ' source_order , "
+ " ' ' source_type , "
+ " ' ' aip_no , "
+ " ' ' cust_name , "
+ " ' ' cert_num , "
+ " ' ' branch_id , "
+ " ' ' broker_id , "
+ " ' ' curr_bal , "
+ " ' ' can_bal , "
+ " ' ' change_desc , "
+ " concat('',sum(w.use_change )) as use_change , "
+ " concat('',sum(w.balance_change)) as balance_change , "
+ " ' ' deal_time "
+ " from ( " + this.sQuerySql+ " ) w " ;
//将明细SQL和汇总SQL拼写一起
sSql = "(" + sSql + ") union all ( " + sSumSql + ") ";
注意到sumsql是计算合计信息的sql,sQuerySql是拼接了查询条件还没做分页的sql。