FineReport——获取控件值和单元格值
?設置單元格的值(填報預覽):
//contentPane.setCellValue(1,0,"abc");//參數面板給單元格賦實際值,即可填報 contentPane.curLGP.setCellValue(1, 0, "abc") //報表中控件給報表中單元格賦值獲取單元格的值(填報預覽,參數面板和報表控件都可以這樣寫):
//contentPane.getCellValue(1,0); contentPane.curLGP.getCellValue(1, 0)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[2];//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:600,height:600})或者FR.showDialog("測試", 400, 400, "<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; //獲取當前行號,由于數據是從第三行開始,因此要減2 contentPane.curLGP.setCellValue("F1",null,num); //給F1單元格賦值 });?給下拉框使用公式定義數據集:實際值:sql公式,顯示值:sql公式+"id=$$$"
在公式中使用數據集名稱:
dsname.select(colname,篩選條件1&&篩選條件2&&......) //ds中不能使用參數?
轉載于:https://www.cnblogs.com/ytwy/p/4864329.html
總結
以上是生活随笔為你收集整理的FineReport——获取控件值和单元格值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修改数据库mysql字符编码为UTF8
- 下一篇: Java基础知识强化之集合框架笔记56: