第一步构建查询

1.自定义查询语句:${f}为开始页,${p}为一页数量,初始值如图

select * from table limit ${f},${p}

设置p的初始值,也可以在上图的参数写死,设置初始页面为第几页,默认为1(page的值)。

 第二步:自定义按钮7个按钮:

设置填报或者分页预览的模板web属性,设置为该模板自定义:

然后设计加载结束事件

var toolbar = contentPane.toolbar;var items = toolbar.options.items;var customButton=items[2];//JQUERY取我们的工具栏上的按钮.items[2]代表的是第三个,也就是那个显示成文本框按钮。
//修正这个按钮的属性,让它变成文本类型,居中,鼠标放上次图标是编辑状态。
var cellValue = contentPane.curLGP.getCellValue("D1");//获取D1单元格的值就是page,也就是当前页。
customButton.setText(cellValue);var total=contentPane.curLGP.getCellValue("C1");if (total>parseInt(total)){
total=parseInt(total)+1;
}
contentPane.toolbar.options.items[4].setText(total);
//把总页数显示在第5个控件上,因为这个数值可能是小数,所以判断下要不要加一处理。
contentPane.toolbar.options.items[3].setText(contentPane.curLGP.getCellValue("E1"));

这几个值来自单元格的第一行:A1,B1,C1,D1,D1的单元格的值,其中C1为查询的总行数

=$page-1    =$page+1    ds2.G(zs)    =$page    ="/"

定义第一个按钮首页的js

window.location.href="${servletURL}?viewlet=报表.cpt&op=write&page=1";//链接到fenye.cpt,page 参数=1,代表第一页。

第二个按钮上一页

var page= $("tr[tridx=0]","div.content-container").children().eq(0).html();  //取第一行第一个单元格内容。if(page==0){this.setEnable(false);alert("页面超出指定的范围");}elsewindow.location.href="${servletURL}?viewlet=报表.cpt&op=write&page="+page//如果没有小于1就正常跳转,否则显示页面超过指定的范围,这个控件设置不可以使用。

第三个按钮当前页

var toolbar = contentPane.toolbar;var items = toolbar.options.items;var customButton=items[2];var inner = customButton.$table;var btnWrapper = $("em", inner);var $input = $("input", btnWrapper);//取这个控件$input.blur(function(){var toolbar = contentPane.toolbar;var items = toolbar.options.items;var customButton=items[2];var inner = customButton.$table;var btnWrapper = $("em", inner);var $input = $("input", btnWrapper);var page=$input.val();var total=$("tr[tridx=0]","div.content-container").children().eq(2).html(); if (total>parseInt(total)){total=parseInt(total)+1;}if(parseInt(page) > parseInt(total) || parseInt(page) < parseInt(1) ){alert("你输出的页数不再指定范围内");}elsewindow.location.href="${servletURL}?viewlet=报表.cpt&op=write&page="+page});

第四个按钮分页符:第5个按钮总页数,无js事件

第6个按钮下一页

var page= $("tr[tridx=0]","div.content-container").children().eq(1).html();
var total=$("tr[tridx=0]","div.content-container").children().eq(2).html();
//JQURUY取下一页和总页数if (total>parseInt(total)){total=parseInt(total)+1;}
//判断总页数是不是整数,不是加一if(parseInt(page) > parseInt(total)){
this.setEnable(false);
alert("页数超出指定范围内");
}
else
window.location.href="${servletURL}?viewlet=报表.cpt&op=write&page="+page
//如果下一页在这个范围就跳转到那里

第7个按钮尾页

var total=$("tr[tridx=0]","div.content-container").children().eq(2).html();
//取总页数。
if (total>parseInt(total)){total=parseInt(total)+1;
}
window.location.href="${servletURL}?viewlet=报表.cpt&op=write&page="+total
//判断总页数是不是整数,不是加一,并跳转到最后一页。

第三部展示结果:

帆软大数据自定义分页相关推荐

  1. 帆软 大屏BI模板(含报表滚动,图表联动等)下载

    使用的FineReport内置FRDemo数据库,下载后放在帆软目录里就可以使用. 需要下载帆软的扩展图表插件,本地预览免费使用. 扩展图表插件- FineReport帮助文档 - 全面的报表使用教程 ...

  2. Oracle大数据量分页通用存储过程

    type refCursorType is REF CURSOR;  --游标类型定义,用于返回数据集 /*********************************************** ...

  3. 千万级别数据查询优化_MySQL大数据量分页查询方法及其优化

    MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...

  4. mysql一样的查询在我本地很快但是线上很慢_MySQL大数据量分页查询方法及其优化...

    MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...

  5. .NET 3.5(11) - DLINQ(LINQ to SQL)之大数据量分页、延迟执行和日志记录

    步步为营VS 2008 + .NET 3.5(11) - DLINQ(LINQ to SQL)之大数据量分页.延迟执行和日志记录 作者:webabcd 介绍 以Northwind为示例数据库,DLIN ...

  6. (转)大数据量分页存储过程效率测试附代码

    大数据量分页存储过程效率测试附代码 在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话. 测试环境 硬件:CPU 酷睿双核T5750  内存: ...

  7. PHP排序大数据量分页

    大数据量分页,除了使用mysql的limit 排序,也可以使用php排序,来实现业务. limit a,b 的取数据方式是,先取出a+b条数据,再把a条筛选掉,剩b条,相当于一次性要取a+b条的数据, ...

  8. MySQL 和 Oracle 大数据量分页查询方法及其优化

    MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...

  9. 应用displaytag完成大数据量分页显示的例子

    应用displaytag在struts中完成大数据量分页显示,Oracle数据库 JSP文件: <%...@ taglib uri="/WEB-INF/displaytag.tld&q ...

  10. 帆软报表填报自定义提交-后台数据解析保存详解

    帆软报表填报前期步骤按api或者百度就可以完成,今天我这里着重讲解自定义提交(访问web后台服务进行提交). 填报提交有两种方式: 1)内置SQL:没什么难度,按教程来就行. 2)自定义提交:对应后台 ...

最新文章

  1. 自由是有代价的:聊聊这几年尝试的道路
  2. 从SeekFree的Gitee开源库建立通用MM32开发模板
  3. 如何更改PostgreSQL用户密码?
  4. crackme之018
  5. bogofilter 使用
  6. Transformation XML(TCODE-STRANS)
  7. 计算机无法还原,降级为Windows 7的计算机无法引导至Windows 10恢复介质
  8. 国内学生宿舍最“豪华”的4所大学,清华大学排第3,第1当之无愧
  9. 美赛如何选题matlab,2017美赛D题—学习记录
  10. 威纶通触摸屏如何打开并升级EB8000旧版本项目并更换触摸屏型号?
  11. 自学Java网站推荐
  12. git php框架,如何用Git安装TP框架
  13. ospfdr选举规则_DR/BDR详细选举过程
  14. 使用Mathpix snip软件 快捷复制PDF/图片中公式到Latex和word
  15. python怎么启动mne_mne-python 安装大法
  16. 用IntelliJ IDEA自带的文本差异对比器
  17. Claus Hansen加入Entrust Datacard,担任亚太地区和日本销售副总裁
  18. 小学计算机应用到英语课教案,信息技术与小学英语教学有效融合(转载)
  19. 如何免费从网上获取全景图片
  20. matplot画图-画曲线(一)

热门文章

  1. MFC中动态检测串口热插拔的实现
  2. Oracle多表关联查询
  3. 华为管理学案例分析_华为管理成功案例分析答案
  4. 不看绝对后悔的Linux三剑客之awk实战精讲
  5. tiny4412的I2C驱动实现案例(基于MMA7660)自己写的,亲测有效
  6. cad画钟表_如何在Word中画钟表?
  7. 双基因突变患者_我的肺癌没有基因突变,这是好是坏?
  8. excel 导出PDF ExportAsFixedFormat函数 报错-2147024809 (0x80070057)
  9. B站 下载版权保护视频
  10. angularJs1.x 版本中 uib-tabset 如何默认激活不同的标签页