帆软FineReport——获取控件值和单元格值
设置单元格的值(填报预览):
//contentPane.setCellValue(1,0,"abc");//参数⾯板给单元格赋实际值,即可填报
contentPane.curLGP.setCellValue(1, 0, "abc") //报表中控件给报表中单元格赋值
获取单元格的值(填报预览,参数⾯板和报表控件都可以这样写):
//CellValue(1,0);
CellValue(1, 0)
var text=CellValue("D2");//获取⽂本框控件所在单元格的值
CellValue(列号,⾏号);
CellValue(单元格);
当前控件值:
复模版和次模板:
this.options.form/window.parent.form
参数界⾯获取参数界⾯控件:
var Widget = this.WidgetByName("WidgetName"); //控件名
参数界⾯获取报表中控件:
var value= WidgetByName("textbox").getValue(); //textbox为在报表中定义控件时命名
报表中控件获取参数⾯板中控件:
var Widget = WidgetByName("id");
在这种情况下,就可以使⽤_g().parameterCommit();。
报表中控件获取报表中控件:
var WidgetByName("tab");
在web页⾯中获取FineReport报表⾥⾯的参数界⾯:
⼯具栏按钮获取参数⾯板控件:
var temp= contentPane.parameterEl.WidgetByName("temp").getValue();
填报属性页⾯事件获取参数⾯板控件:
WidgetByName("widget").getValue();
控件的常⽤⽅法:
Widget.setValue()该⽅法是给控件赋值,但是不建议在填报页⾯⽤该⽅法给控件赋值,因为这是给控件赋值,并不是单元格,在填报的时候如果使⽤该⽅法赋值,每次给控件赋值完成之后,将值传给单元格之前,会被清空,最后单元格的值还是为空,所以在填报页⾯建议使⽤给控件赋值。
获取⽗模板:
var form = window.parent.form;
获取/设置制定参数控件的值:
var WidgetByName("p2").getValue();
/
/this.WidgetByName("p1").getValue();
通过引⼊finereport.js,就可以使⽤FR这个对象:
<script type="text/javascript" src="/WebReport/ReportServer?op=emb&resource=finereport.js"></script>
doURLFlashPrint(printurl,isPopUp) //第⼀个参数代表路径,第⼆个表⽰是否弹出对话框
获取当前单元格⾏列号:
var row =TDRow(td);
var col =TDCol(td);
获取⼯具栏的控件:
var toolbar = lbar;
var items = toolbar.options.items;
var customButton=items[2];//JQUERY取我们的⼯具栏上的按钮.items[2]代表的是第三个。
刷新事件(添加按钮点击事件):
⾃定义提交:
_g('${sessionID}').writeReport();
⾃定义校验提交:
_g('${sessionID}').verifyAndWriteReport();
⾃定义查询:
_g().parameterCommit();
点击页⾯弹出⼦页⾯,按钮的点击事件:
FR.showIframeDialog({
url:"ReportServer?reportlet=SMES/NewAdd.cpt&op=write",
title:"title",
width:600,
height:600
})
或者
FR.showDialog("测试", 400, 400, "<div> <iframe  id='reportFrame' style='width:100%;height:350px' src='localhost:8075/WebReport/ReportServer?reportlet=SMES/NewEdit.cpt&op=write&PKID=${CopID}'> </iframe></div>", {collapsible:true
⼦页⾯刷新⽗页⾯:
在⽗页⾯做个按钮,ID为btnRefresh  点击事件为:load();
在⼦页⾯的填报成功事件⾥写:
var top = window.parent;
var reportPane = tPane;
var btn = reportPane.WidgetByName("btnRefresh");
btn.fireEvent("click");
⽹页框路径:
${servletURL}?reportlet=tree2/relation.cpt&op=write
jquery获取下拉框选中值刷新整个页⾯:
刷新当前sheet:
刷新报表⽽不刷新参数⾯板:
当前单元格的值:
$$$
为空不过滤:nofilter表⽰不过滤,if(len($area)==0,nofilter,$area)表⽰参数area为空,就不过滤,若不为空则以参数值进⾏过滤。
获取当前⾏号并赋值给F1:
<("cellselect", function(td) {  //获取单元格被选中监听事件
var num =TDRow(td)-2;  //获取当前⾏号,由于数据是从第三⾏开始,因此要减2
contentPane.curLGP.setCellValue("F1",null,num);  //给F1单元格赋值
});
给下拉框使⽤公式定义数据集:实际值:sql公式,显⽰值:sql公式+"id=$$$"
在公式中使⽤数据集名称:
dsname.select(colname,筛选条件1&&筛选条件2&&......) //ds中不能使⽤参数

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。