FineReport——获取控件值和单元格值
设置单元格的值(填报预览):
//contentPane.setCellValue(1,0,"abc");//参数面板给单元格赋实际值,即可填报
contentPane.curLGP.setCellValue(, , "abc") //报表中控件给报表中单元格赋值
获取单元格的值(填报预览,参数面板和报表控件都可以这样写):
//contentPane.getCellValue(1,0);
contentPane.curLGP.getCellValue(, )
var text=contentPane.curLGP.getCellValue("D2");//获取文本框控件所在单元格的值
contentPane.getCellValue(sheet号,列号,行号); //sheet号行号列号是从0开始
contentPane.curLGP.getCellValue(列号,行号);
contentPane.curLGP.getCellValue(单元格);
当前控件值:
this.getValue();
复模版和次模板:
this.options.form/window.parent.form
参数界面获取参数界面控件:
var Widget = this.options.form.getWidgetByName("WidgetName"); //控件名
参数界面获取报表中控件:
var value= contentPane.getWidgetByName("textbox").getValue(); //textbox为在报表中定义控件时命名
报表中控件获取参数面板中控件:
var Widget = contentPane.parameterEl.getWidgetByName("id");
在这种情况下,就可以使用_g().parameterCommit();。
报表中控件获取报表中控件:
var Widget=contentPane.getWidgetByName("tab");
在web页面中获取FineReport报表里面的参数界面:
document.getElementById('reportFrame').contentWindow.contentPane.parameterEl.getWidgetByName('widgetname')
工具栏按钮获取参数面板控件:
var temp= contentPane.parameterEl.options.form.getWidgetByName("temp").getValue();
填报属性页面事件获取参数面板控件:
contentPane.parameterEl.getWidgetByName("widget").getValue();
控件的常用方法:

Widget.setValue()该方法是给控件赋值,但是不建议在填报页面用该方法给控件赋值,因为这是给控件赋值,并不是单元格,在填报的时候如果使用该方法赋值,每次给控件赋值完成之后,将值传给单元格之前,会被清空,最后单元格的值还是为空,所以在填报页面建议使用setCellValue()给控件赋值。
获取父模板:
var form = window.parent.form;
获取/设置制定参数控件的值:
var pva=form.getWidgetByName("p2").getValue();
//this.options.form.getWidgetByName("p1").getValue();
form.getWidgetByName("p2").setValue(pva);
通过引入finereport.js,就可以使用FR这个对象:
<script type="text/javascript" src="/WebReport/ReportServer?op=emb&resource=finereport.js"></script>
doURLFlashPrint(printurl,isPopUp) //第一个参数代表路径,第二个表示是否弹出对话框
获取当前单元格行列号:
var row =contentPane.curLGP.getTDRow(td);
var col =contentPane.curLGP.getTDCol(td);
获取工具栏的控件:
var toolbar = contentPane.toolbar; var items = toolbar.options.items; var customButton=items[];//JQUERY取我们的工具栏上的按钮.items[2]代表的是第三个。
刷新事件(添加按钮点击事件):
location.reload();
自定义提交:
_g('${sessionID}').writeReport();
自定义校验提交:
_g('${sessionID}').verifyAndWriteReport();
自定义查询:
_g().parameterCommit();
点击页面弹出子页面,按钮的点击事件:
FR.showIframeDialog({
url:"ReportServer?reportlet=SMES/NewAdd.cpt&op=write",
title:"title",
width:,
height:
})
或者
FR.showDialog("测试", , , "<div> <iframe id='reportFrame' style='width:100%;height:350px' src='http://localhost:8075/WebReport/ReportServer?reportlet=SMES/NewEdit.cpt&op=write&PKID=${CopID}'> </iframe></div>", {collapsible:true});
子页面刷新父页面:
在父页面做个按钮,ID为btnRefresh 点击事件为:location.reload();
在子页面的填报成功事件里写:
var top = window.parent;
var reportPane = top.contentPane;
var btn = reportPane.curLGP.write.getWidgetByName("btnRefresh");
btn.fireEvent("click");
网页框路径:
${servletURL}?reportlet=tree2/relation.cpt&op=write
刷新整个页面:
location.reload();
刷新当前sheet:
this.refreshAllSheets();
刷新报表而不刷新参数面板:
contentPane.reloadCurLGPPane();
当前单元格的值:
$$$
为空不过滤:nofilter表示不过滤,if(len($area)==0,nofilter,$area)表示参数area为空,就不过滤,若不为空则以参数值进行过滤。
获取当前行号并赋值给F1:
contentPane.on("cellselect", function(td) { //获取单元格被选中监听事件
var num =contentPane.curLGP.getTDRow(td)-; //获取当前行号,由于数据是从第三行开始,因此要减2
contentPane.curLGP.setCellValue("F1",null,num); //给F1单元格赋值
});
给下拉框使用公式定义数据集:实际值:sql公式,显示值:sql公式+"id=$$$"
在公式中使用数据集名称:
dsname.select(colname,筛选条件1&&筛选条件2&&......) //ds中不能使用参数
FineReport——获取控件值和单元格值的更多相关文章
- GridView控件点击单元格如何获取该列的列标题
本博文Insus.NET教你实现在GridView控件中,用mouse点击某单元格之后,希望能获取到该列的列标题. 创建一个网页,创建一个GridView控件: 去cs绑定数据给GridView控件: ...
- WPF 获取DataGrid 控件选中的单元格信息
获取 DataGrid 选中的单元格的信息DataGridCellInfo cell_Info = this.studentTable.SelectedCells[0]; studentTableIt ...
- 【Winform-自定义控件】DataGridView 单元格合并和二维表头
DataGridView单元格合并和二维表头应用: //DataGridView绑定数据 DataTable dt = new DataTable(); dt.Columns.Add("); ...
- EXCEL VBA代码,实现点击Sheet1按钮控件保存不连续单元格的数据到Sheet2中,然后清空输入内容
Private Sub SaveAndClear() Dim Header, Deatil, Order As Range Dim lastrow1, lastrow2 As Long Dim i A ...
- C#一行代码实现(06)跨线程获取控件值,结合BeginInvoke和EndInvoke使用,以DataGridView为例
主要功能 跨线程获取控件值,以DataGridView为例,结合BeginInvoke和EndInvoke使用 一行代码 object cellValue = dataGridView.ExInvok ...
- python通过win32api轻松获取控件的属性值
1.如何利用句柄操作windows窗体 首先,获得窗体的句柄 win32api.FindWindows() 第二,获得窗体中控件的id号,spy++ 第三,根据控件的ID获得控件的句柄(hwnd) ...
- js中使用控件名和数组下标方式获取控件的值时失败
在做界面展示时涉及到表单行项目的增加和删除时,我们一帮都使用js的脚本实现表单行的增加和删除,那么在进行表单的提交的时我们会再页面上进行提交数据的初步校验,进行数据的初步校验时,就要动态获取控件的值. ...
- WPF线程中获取控件的值和给控件赋值
WPF中使用线程操作控件,按平常的操作方法操作的话会报异常:调用线程无法访问此对象,因为另一个线程拥有该对象.所以我们要使用Dispatcher类的BeginInvoke()与Invoke()方法.B ...
- Java 获取表格中某一个单元格的值
需求 搜索页面返回表格样搜索结果, 获取搜索结果中某个单元格的具体值. 以下图为例, 下表是搜索返回的结果, 第一行是各个列的名字, 其它是具体的返回值. 方法1: 根据用户输入的表头名来确定是第几列 ...
随机推荐
- Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭
AlertDialog.Builder builder = new Builder(this); builder.create().show(); 这样显示出来的对话框,当用户按返回键或搜索键时,这个 ...
- javascript:location.reload()和location.replace()的区别,及对图片缓存的影响。
有段时间没有清理IE的临时文件(缓存文件),在我清理的时候,我突然发现一个问题. 我打开的一个网站,图片默认缓存一个月的,但我发现,当我上传图片或删除图片之后,图片重新缓存,也就意味着,在我上传新图片 ...
- 那些神奇的before和after使用方法
在英文单词里面:before是在什么之前.after是在什么之后.诚然,在我们的css里面, 通过使用before和after伪类元素,可以在我们想要的元素前面或者后面插入内容. 下面是使用befor ...
- idea svn performing vcs refresh 很长时间
go to settings - version control - background set changelists to cache initially to minimal value (1 ...
- Linux命令之rm
rm命令 用处:删除文件 用法:在终端上输入rm加上要删除的文件的名字(如果有的话,包括后缀) 示例: (我要删除newfile这个文件)
- Hbase记录-Hbase其他工具
1.RowCounter工具可以查看某张表有多少行,效率非常高 2.count命令在数据量大的时候效率非常差 执行./hbase org.apache.hadoop.habse.mapreduce. ...
- 循环屏障CyclicBarrier以及和CountDownLatch的区别
CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier).它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门, ...
- utf8_bin跟utf8_general_ci的区别
ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的; bin 是二进制, a 和 A 会别区别对待. 例如你运行: SEL ...
- 用Emacs的这些年
读技术博客时发现又有人提起我曾写的那篇口水文章 为何Emacs和Vim被称为两大神器.写那篇文章时,我还在Vim和Emacs之间摇摆.当然主要在用vim,博士学位论文和所有的国际会议文章都是用Vim编 ...
- Git Gui基本使用情况
本教程将讲述:gitk的Git Gui的部分常用功能和使用方法,包括:建库.克隆(clone).上传(push).下载(pull - fetch).合并(pull - merge). ———————— ...