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

3108c1a0da7436744db904c559ff6263.png

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

1、打开‘模板Web属性’

3471868

3471868

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

3471868

3471868

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

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

3471868

3471868

3471868

3471868

自定义事件:

首页:

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代码中有说明。自行理解应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Python-Flask框架开发Web网站系列课程(一)构建项目

版权声明&#xff1a;如需转载&#xff0c;请注明转载地址。 https://blog.csdn.net/oJohnny123/article/details/81907475 前言 使用IDE&#xff1a;PyCharm 操作系统: Mac Python版本&#xff1a;3.6 我的邮箱:51263921qq.com 交流群: 372430835 请注意&#xff0c;既然要学习…

Mysql varchar 字节长度

1.我们经常 mysql创建 varchar(20) name这个 20长度 究竟是表示的字符数还是字节数&#xff1f;根编码字符集又有没有关系&#xff1f; 首先 mysql 5.X 以上的版本的 定义中 表示的字符长度&#xff0c;如上varchar&#xff08;20&#xff09;你既可以添加20个英文字符&#x…

网上订餐python_来自美国网上订餐网站的创新

美国网上订餐网站的创新&#xff1a;小服务半径产生大价值来源:站长网 作者:扬扬做为一个上班族&#xff0c;尤其是从事it行业的白领阶层&#xff0c;整日对着电脑键盘敲敲打打&#xff0c;讲究的是效率&#xff0c;而每天中午乃至晚上考虑吃些什么却是让人极其头疼的事。去哪里…

PHP学习方向-进阶2(三)

实践篇 给定二维数组&#xff0c;根据某个字段排序如何判断上传文件类型&#xff0c;如&#xff1a;仅允许 jpg 上传不使用临时变量交换两个变量的值 $a1; $b2; > $a2; $b1; strtoupper 在转换中文时存在乱码&#xff0c;你如何解决&#xff1f;php echo strtoupper(ab你好c…

Spring的@Autowired和@Resource

Autowired 当Spring发现Autowired注解时&#xff0c;将自动在代码上下文中找到和其匹配&#xff08;默认是类型匹配&#xff09;的Bean&#xff0c;并自动注入到相应的地方去。 必须确保该类型在IOC容器中只有一个对象&#xff1b;否则报错。 Resource1、Resource后面没有任何内…

关于xml文件 xsi:schemaLocation

原文连接&#xff1a;https://www.jianshu.com/p/7f4cbcd9f09f ------------------------------------------------------相信很多人对xml 头上一大堆得东西都是拿来主义&#xff0c;copy过来就行了&#xff0c;并不理解那是什么意思先来一段<?xml version"1.0" …

ES6部分特性小结

前言 踩着前人的肩膀&#xff0c;努力前行。参考了很多前人的文章。 1.变量声明const和let es6之前声明变量只能用var&#xff0c;var的特点是无论声明在何处&#xff0c;都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部) function test(){if(false){var name …

java 顺序栈_Java实现顺序栈

一、分析栈是限定仅在表的一端进行插入或删除操作的线性表&#xff0c;对于栈来说&#xff0c;操作端称为栈顶&#xff0c;另一端则称为栈底&#xff0c;栈的修改是按照后进先出的原则进行的&#xff0c;因此又称为后进先出的线性表。顺序栈是指利用顺序存储结构实现的栈&#…

Spring IO platform

什么是Spring IO PlatformSpring IO Platform&#xff0c;简单的可以认为是一个依赖维护平台&#xff0c;该平台将相关依赖汇聚到一起&#xff0c;针对每个依赖&#xff0c;都提供了一个版本号&#xff0c;这些版本对应的依赖都是经过测试的&#xff0c;可以保证一起正常使用。…

二十多岁不信,三十多岁却深信不疑的道理

1.那些年偷的懒、荒废的时间、败坏的身体&#xff0c;都&#xff01;得&#xff01;还&#xff01; 年轻的时候心比天高&#xff0c;以为自己能干出一番大事业&#xff0c;后来慢慢意识到自己只是个普通人。 2.不和讲道理。 3.原来被嗤之以鼻的门当户对是有一定道理的。 4.以貌…

javascript === 和==的区别

原文链接&#xff1a;https://blog.csdn.net/seven_amber/article/details/62889290 -------------------------------------------------------------------- 用于比较 判断 两者相等 在比较的时候可以转自动换数据类型用于严格比较 判断两者严格相等 严格比较…

authentication java_HTTP基本认证(Basic Authentication)的JAVA实例代码

大家在登录网站的时候&#xff0c;大部分时候是通过一个表单提交登录信息。但是有时候浏览器会弹出一个登录验证的对话框&#xff0c;如下图&#xff0c;这就是使用HTTP基本认证。下面来看看一看这个认证的工作过程:第一步:客户端发送http request 给服务器,服务器验证该用户是…

Python数据分析入门(四)

前言上期给大家分享了关于豆瓣5500部电视剧的分析&#xff0c;那么这次我们就给吃货们带来一些福利&#xff0c;此次我们的主题为“寻找最好吃的火锅”。进入主题之前&#xff0c;先给所有的吃货们带来一桌美味的火锅&#xff0c;作为各位看官的前菜。数据采集此次我们采集的是…

微信开发者工具下载

https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

java continue goto_Java中goto和break、continue实现区别

goto 关键字很早就在程序设计语言中出现。事实上&#xff0c;goto 是汇编语言的程序控制结构的始祖&#xff1a;“若条件 A&#xff0c;则跳到这里&#xff1b;否则跳到那里”。若阅读由几乎所有编译器生成的汇编代码&#xff0c;就会发现程序控制里包含了许多跳转。然而&#…

Linux VirtualBox安装及使用指南

2019独角兽企业重金招聘Python工程师标准>>> VirtualBox是一款虚拟机软件。虽然它的功能并不及VMware Workstation Pro&#xff0c;但它对开源精神的坚持使得它在Linux中依然深受欢迎。 唯一难以令人接受的是&#xff0c;VirtualBox的安装步骤较为复杂。不过&#x…

java web vm_java web .vm文件??

在JavaWeb项目中有很多.vm文件&#xff0c;打开以后是类似于.NETMVC项目中的.cshtml文件的形式#if($linkList)#set($itemsOnLine0)#foreach($linkin...在Java Web项目中有很多.vm文件&#xff0c;打开以后是类似于.NET MVC项目中的.cshtml文件的形式#if($linkList)#set ($items…

Android studio gradle 无法获取 pom文件

Android studio 3.1 导入app项目后&#xff0c;gradle无法获取 pom文件 具体保存内容如下&#xff1a; Could not GET https://dl.google.com/dl/android/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-g…

生产环境linux下安装两个及两个以上tomcat实践

前言: 在生产环境部署程序项目中&#xff0c;有时候由于服务器紧张或缺少服务器等原因,往往都需要安装两个及两个以上tomcat。我们需要在/etc/profile中增加tomcat的环境变量&#xff0c;然后在新增加的tomcat的bin目录下的catalina.sh中引用自己在/etc/profile中配置的环境变量…

java 内存 四_java最终化的内存保留问题(4)

四、一种代替最终化的选择在前面一节中的示例还存在一种不确定性可能&#xff1a;JVM并不能保证它在最终化队列中调用对象的终结器的顺序。而来自于所有类(应用程序&#xff0c;库&#xff0c;等等)的终结器都是被同等对待的。因此&#xff0c;一个占有大量内存或一种稀有的本地…