三、添加自定义按钮以及JS事件

1、打开‘模板Web属性’

2、选中‘填报页面设置’,修改2)为‘为模板单独设置‘,3)中是前面七个是添加的自定义按钮;通过4)按钮进行设置;5)操作是添加‘加载结束’事件;接下来详细讲述每个步骤;

3、点击4)之后弹出下面页面,自上而下七个按钮分别为首页、上一页、页码显示框、斜杠、总页数、下一页、末页

通过‘编辑’按钮可以改图标,然后依次添加自定义事件

自定义事件:

首页:

var sheet = _g().parameterEl.getWidgetByName('sheet').getValue();

if(sheet==1)

{

_g().parameterEl.getWidgetByName('page1').setValue(1);

}else{

_g().parameterEl.getWidgetByName('page2').setValue(1);

}

_g().parameterEl.getWidgetByName('Search').fireEvent('click');//Search为查询按钮的名字

上一页:

var beforepage = contentPane.curLGP.getCellValue("A1");

if(beforepage > 0){

var sheet = _g().parameterEl.getWidgetByName('sheet').getValue();

if(sheet==1)

{

_g().parameterEl.getWidgetByName('page1').setValue(beforepage);

}else{

_g().parameterEl.getWidgetByName('page2').setValue(beforepage);

}

_g().parameterEl.getWidgetByName('Search').fireEvent('click');

}

页码显示框:

var toolbar = contentPane.toolbar;

var items = toolbar.options.items;

var customButton = items[2];

var inner = customButton.$btnWrap;

var btnWrapper = $("em", inner);

var $input = $("input", btnWrapper);

//取这个控件

$input.blur(function() {

var targetpage = $input.val();

var endpage = contentPane.curLGP.getCellValue("C1");

if (parseInt(targetpage) > parseInt(endpage) || parseInt(targetpage) < parseInt(1)) {

alert("你输出的页数不再指定范围内");

} else

var sheet = _g().parameterEl.getWidgetByName('sheet').getValue();

if(sheet==1)

{

_g().parameterEl.getWidgetByName('page1').setValue(targetpage);

}else{

_g().parameterEl.getWidgetByName('page2').setValue(targetpage);

}

_g().parameterEl.getWidgetByName('Search').fireEvent('click');

});

斜杆:无

总页数:无

下一页:

var nextpage = contentPane.curLGP.getCellValue("B1");

var endpage = contentPane.curLGP.getCellValue("C1");

if(nextpage<=endpage){

var sheet = _g().parameterEl.getWidgetByName('sheet').getValue();

if(sheet==1)

{

_g().parameterEl.getWidgetByName('page1').setValue(nextpage);

}else{

_g().parameterEl.getWidgetByName('page2').setValue(nextpage);

}

_g().parameterEl.getWidgetByName('Search').fireEvent('click');

}

末页:

var endpage = contentPane.curLGP.getCellValue("C1");

var sheet = _g().parameterEl.getWidgetByName('sheet').getValue();

if(sheet==1)

{

_g().parameterEl.getWidgetByName('page1').setValue(endpage);

}else{

_g().parameterEl.getWidgetByName('page2').setValue(endpage);

}

_g().parameterEl.getWidgetByName('Search').fireEvent('click');

4、添加‘结束事件’

如下:

var toolbar = contentPane.toolbar;

var items = toolbar.options.items;

//JQUERY取我们的工具栏上的按钮.items[2]代表的是第三个,也就是那个显示成文本框按钮。

var customButton=items[2];

var inner = customButton.$btnWrap;

var btnWrapper = $("em", inner);

//修正这个按钮的属性,让它变成文本类型,居中,鼠标放上次图标是编辑状态。

btnWrapper.html("");

//获取D1单元格的值就是page,也就是当前页。

var cellValue = contentPane.curLGP.getCellValue("D1");

var $input = $("input", btnWrapper);

//给这个文本控件复制,用的是JQUERY的方法,可以COPY。

$input.val(cellValue);

var total=contentPane.curLGP.getCellValue("C1");

//把总页数显示在第5个控件上,因为这个数值可能是小数,所以判断下要不要加一处理。

contentPane.toolbar.options.items[4].setText(total);

//把斜线写在第4个控件上。

contentPane.toolbar.options.items[3].setText(contentPane.curLGP.getCellValue("E1"));

$(".fr-sheetbutton-container").click(function()//切换sheet时

{var a=contentPane.$contentPane.data('TabPane').tabBtns[contentPane.selectedIndex].options.name;//获取当前sheet的名字

if(a=="sheet1")  //表示第一个sheet,sheet1需要替换成自己对应的sheet名称

{

_g().parameterEl.getWidgetByName('sheet').setValue(1);

//当前sheet需要显示或者隐藏的 控件

_g().parameterEl.getWidgetByName('当前面板所需要显示的控件名称').setVisible(true);

_g().parameterEl.getWidgetByName('当前面板所需要隐藏的控件名称').setVisible(true);

//获取D1单元格的值就是page,也就是当前页。

cellValue = contentPane.curLGP.getCellValue("D1");

//给这个文本控件复制,用的是JQUERY的方法,可以COPY。

$input.val(cellValue);

var total=contentPane.curLGP.getCellValue("C1");

//把总页数显示在第5个控件上,因为这个数值可能是小数,所以判断下要不要加一处理。

contentPane.toolbar.options.items[4].setText(total);

}

else

{

_g().parameterEl.getWidgetByName('sheet').setValue(2);

//当前sheet需要显示或者隐藏的 控件

_g().parameterEl.getWidgetByName('当前面板所需要显示的控件名称').setVisible(true);

_g().parameterEl.getWidgetByName('当前面板所需要隐藏的控件名称').setVisible(true);

//获取D1单元格的值就是page,也就是当前页。

cellValue = contentPane.curLGP.getCellValue("D1");

//给这个文本控件复制,用的是JQUERY的方法,可以COPY。

$input.val(cellValue);

var total=contentPane.curLGP.getCellValue("C1");

//把总页数显示在第5个控件上,因为这个数值可能是小数,所以判断下要不要加一处理。

contentPane.toolbar.options.items[4].setText(total);

}

});

四、添加模板数据集

1、oracle分页查询sql语句:

SELECT * FROM

(

SELECT A.*, ROWNUM RN

FROM (SELECT * FROM table_name) A

WHERE ROWNUM <= ${page}*${amount}

)

WHERE RN >= ((${page}-1)*${amount})+1

2、查询总页数sql语句:

SELECT ceil(count(*)/${amount}) as totalpage FROM table_name

注意:如果需要添加where条件,一定两条语句同时添加

五、面板设计

关于查询面板设计,不多做说明。多sheet切换时改变面板显示的功能在 (三).4 中的‘加载结束’事件的js代码中有说明。自行理解应用。

帆软按钮控件变查询_帆软报表(多sheet)自定义分页查询相关推荐

  1. 帆软按钮控件变查询_如何设置finereport按钮控件的可用时间

    展开全部 不知bai道题主的意思是不du是要实现控制报表最zhi长预览时间,超时自动退出.dao在 %FR_HOME%\WebReport\目录下回新建一个logout.js文件,答输入一下代码,保存 ...

  2. 帆软日期控件变灰_数据分析插件FineReport中日期控件如何校验JS

    效果查看 分页预览模板,选择开始时间和结束时间,使这两个日期之间相差超过15天,就会弹出上述对话框. 注:上述js代码在火狐,谷歌IE9等浏览器下没有问题,但是在IE8以及IE8以下的ie浏览器版本中 ...

  3. 帆软 文件控件图标更换_【产品对比】赢在自我的战场:TABLEAU VS. 帆软 (1)

    最近很多人问TableauVS帆软的区别,此前一直没有深度用过帆软的产品,所以不能妄加判断:问的人多了,我想有必要努力公平客观的做一个对比.我对比不会狭隘地对比单个产品功能的好坏,我希望对比两家公司的 ...

  4. 帆软日期控件变灰_FineReport-JS脚本常见日期使用整理

    var mydate = new Date(); //创建日期对象,返回值为当前日期(包涵时分秒) mydate.setMonth(mydate.getMonth()-1); //设置日期对象中的&q ...

  5. qt 关闭窗口的槽函数_勇哥的VC++应用框架学习之QT(1) 信号槽、按钮控件、opencv读取显示图片...

    前言勇哥对于C语言,C++早些年有一些接触,这个系列贴子就记载一下C++应用框架的学习经验. 在写程序时,UI.基础类库.应用程序框架对于vc来讲,只能依靠MFC和QT了. 勇哥对MFC有很强的抵触, ...

  6. emwin 仪表_分享一个emWin软键盘控件

    分享一个emWin软键盘控件 [复制链接] 本帖最后由 glcd 于 2016-6-27 16:30 编辑 花了两天时间做了个emWin软键盘控件,并命名为ButtonSKB控件: image001. ...

  7. 在access窗体中加图片_Access实战:一种不用按钮控件就能控制子窗体联动的方法...

    近来宇哥潜心研究Access的设计,多有心得,在此共享一二.Access窗体若要进行控制,是需要通过按钮控件的,我经过自己探索,发现了一种更加简单的方法,也就是不用控件,通过直接点击窗体已有的表格,就 ...

  8. 用VB实现带图片的XP风格的按钮控件

    虽然在VB里实现XP风格很简单,但是要使用XP风格同时又让按钮显示图片,则实现起来要麻烦一些,为此,我写了一个控件来实现前述功能,同时让读者可以从中了解XP主题界面的绘制过程. 使用办法很简单,在VB ...

  9. html 复选按钮 全选,JS实现复选按钮控件全选和批量操作

    2.1 准备数据 新建普通报表,新建数据库查询数据集 ds1,SQL 语句为:SELECT * FROM Sales 2.2 设计表格 如下图设计填报模板的表格样式,其中 A3 单元格的左父格为 B3 ...

最新文章

  1. 2022-2028年中国液化石油气(LPG)行业投资分析及前景预测报告
  2. 面试季,Java中的static关键字解析
  3. Edison与Arduino通过USB对接通信
  4. 搜索不包含关键词_sem竞价代运营丨做竞价推广,关键词匹配才是重点
  5. python需要php吗-PHP会被Python取代吗?
  6. LeetCode算法题-Minimum Depth of Binary Tree(Java实现)
  7. redis mysql 下载_redis 下载安装
  8. 用ASP.NETCore构建可检测的高可用服务
  9. 考研英语核心词汇辨析(黑魔方系列2007版之十二)
  10. Linux 文件相关的常用命令
  11. 海报样机模型|让设计作品从人群中脱颖而出
  12. pip 20.3 发布:更改默认依赖解析器、即将停止支持 Python 2.7
  13. linux free命令详解(一)
  14. c语言考试常考大题,C语言题库经典题 考试常考题.doc
  15. 大华DVR IPC 常见问题
  16. matlab 双胶合透镜 初始,zemax笔记6——例:双胶合透镜的设计
  17. PDF转图片怎么转?建议收藏这三种方法
  18. 继承,买卖与赠与房屋时哪个最合算
  19. 无线VoIP技术的现状
  20. Vins-Mono系列代码和理论解读<五>.位姿图Pose_graph理论和代码实现细节

热门文章

  1. event类型 php,深入解析PHP的Laravel框架中的event事件操作
  2. 大数据基础系列 5:Hadoop 实验——熟悉常用的 HDFS 目录操作和文件操作
  3. 计算机联用测定无机盐溶解热测试题,计算机联用测定无机盐溶解热
  4. 计算机控制基础知识,最新 分析计算机控制系统及其运算基础知识-精品
  5. 安装python3.6.1_如何安装python3.6.1/
  6. mysql 工具 08s01_Mysql管理必备工具Maatkit详解之十四(mk-kill)
  7. multisim连接MySQL_首次使用Multisim软件进行电路仿真设计
  8. 鸿蒙明年可以在手机上用吗,华为王成录:鸿蒙已满足在手机上使用,明年一二月份向部分用户开放...
  9. python字符串前面加f什么意思_Python 字符串前面加u,r,b,f的含义
  10. python删除文件和linux删除文件区别_使用Python批量删除文件列表