JavaScript需要改進的地方
1)私有方法是不是要統一以"_"(下劃線)開頭
2)
1.對象函數
Array:
String 靜態方法:
String:
Fuction:
createSequence
2.常態函數
3.UI函數
4.打印
5.jQuery布局
6.組件注冊和生產
7.FR.OB(事件觀察者)
8.FR.Widget(控件) extends OB
9.FR.Form(表單) extends OB
10.FR.BasePane extends Widget
11.FR.BaseEditor extends Widget
12.
FR.FileUploadEditor(文件上傳控件) extends BaseEditor
FR.CheckBoxGroup(復選按鈕組控件) extends BaseEditor
FR.RadioGroup(單選按鈕組控件) extends BaseEditor
FR.ToogleButton extends BaseEditor
FR.CheckBox extends ToogleButton
FR.Radio extends ToogleButton
FR.TextEditor(文本控件) extends BaseEditor
FR.NumberEditor(數字控件) extends TextEditor
FR.DateTimeEditor(日期時間控件) extends TextEditor
FR.TriggerEditor extends TextEditor
FR.ComboBoxEditor(下拉框控件) extends TriggerEditor
FR.CheckboxEditor(下拉復選框) extends ComboBoxEditor
FR.TreeComboBoxEditor(下拉樹) extends CheckboxEditor
13.
FR.PagePane extends BasePane
14.
FR.WritePane extends BasePane
FR.WLGP(WritePane的邏輯數據處理對象) extends FR.OB
函數具體介紹:
計算一個參數,返回它在數組中的位置,如果不在數組中,則返回-1。
語法
Arr.indexOf(o)
參數
對象
描述
indexOf是FineReport對數組對象函數的一個擴充
示例
["st", "es", "cd", "ds"].indexOf("cd")返回2
["st", "es", "cd", "ds"].indexOf("ut")返回-1
移除數組對象中一個指定的元素,并返回一個新的數組
語法
Arr.remove(o)
參數
對象
描述
Remove是FineReport對數組對象函數的一個擴充
示例
["st", "es", "cd", "ds"].remove("cd")返回["st", "es", "ds"]
["st", "es", "cd", "ds"]. remove ("ut")返回["st", "es", "cd", "ds"]
String.escape
返回以"\$1"代替"'"和"\"的字符串
語法
String.escape(string)
參數
string:字符串
描述
String.escape是FineReport自定義的一個函數
示例
String.leftPad
返回一個左對齊的字符串
語法
String.leftPad(val, size, [ch])
參數
val:需要轉換的對象;
size:補齊后總共的產度;
ch(可選):補齊所用的字符,默認為" "。
描述
String.leftPad是FineReport自定義的一個函數
示例
String.leftPad("FineReport", 20, "left")返回" leftleftleftFineReport"
String.format
返回格式化后的字符串
語法
String.format(str, [val])
參數
str:需要被格式化的原始字符串
[val]:可選參數,標識被格式化的樣式
描述
String.format是FineReport自定義的一個函數
示例
var cls = 'my-class', text = 'Some text';
var s = String.format('<div class="{0}">{1}</div>"', cls, text);
s等于'<div class="my-class">Some text</div>"'。
判斷一個字符串是否以指定的字符串開始
語法
"finereport".startWith("fine")
參數
字符串
描述
startWith是FineReport對String的函數的擴充
示例
"finereport".startWith("fine")返回true
"finereport".startWith("report")返回false
判斷一個字符串是否以指定的字符串結束
語法
"finereport".endWith("report")
參數
字符串
描述
endWith是FineReport對String的函數的擴充
示例
"finereport".endWith("fine")返回false
"finereport".endWith("report")返回true
將多個函數綁定到一個函數
語法
fun.createCallback(arg1, arg2)
參數
函數
描述
示例
var fn = func1. createCallback(arg1, arg2);
fn() === func1(arg1, arg2);
將對象綁定一個在其作用域下的函數,亦可將特定的多個參數,寫成數組傳入到那個函數中去。可選地,這需要一個參數來指定是否將參數列表傳入到參數數組(即arguments,類型為Array)中去。如果這個第三的參數沒有傳入,數組將是整個的參數列表。
語法
fun.createDelegate(scope, Array, Number/Boolean)
參數
scope:作用域
array:參數數組
number/boolean:數字或布爾值,用來指定傳入參數的個數
描述
示例
var fn = func1.createDelegate(scope, [arg1,arg2], true)
fn(a,b,c) === scope.func1(a,b,c,arg1,arg2);
var fn = func1.createDelegate(scope, [arg1,arg2])
fn(a,b,c) === scope.func1(arg1,arg2);
var fn = func1.createDelegate(scope, [arg1,arg2], 1)
fn(a,b,c) === scope.func1(a,arg1,arg2,b,c);
指定一個函數在這個函數之前調用。原函數的所有參數都會傳入給它。如果它返回false,原函數將不會被調用。作用域的參數可選地使用。
語法
fun.createInterceptor(fun1, scope)
參數
描述
示例
允許你在某一定時間間隔之后執行函數,而且可指定執行所在的作用域,連同多個參數的傳入一同被調用。
語法
fun.defer(Number, scope, Array, Boolean/Number)
參數
描述
示例
createSequence
指定一個函數在這個函數之后調用。原函數的所有參數都會傳入給它。作用域的參數可選地使用。
語法
fun.createSequence (fun1, scope)
參數
描述
示例
返回一個函數體為空的函數
判斷一個對象是否是一個數組
語法
FR.isArray(o)
參數
o:需要判斷的對象
描述
示例
FR.isArray("abc")返回false
FR.isArray(["abc"])返回true
給一個dom元素設定css
語法
FR.applyStyles(el, styles)
參數
el:dom元素
style:字符串或對象
描述
示例
FR.applyStyles ($("div"), "color:red")就得到"<div style='color:red'></div>"
FR.applyStyles ($("div"), {'color': 'red', 'font-size': '14px'})得到"<div style='color:red, font-size:14px'></div>"
將普通字符串轉化為表示正則表達式的字符串
語法
FR.toRE(string)
參數
string:字符串
描述
示例
FR.toRE("{abc}")返回"\{abc\}"
實現JavaScript類的繼承
語法
FR.extend(ClassA, ClassB, overrides)
參數
ClassA:需要繼承的類;
ClassB:父類;
overrides:重寫的方法
描述
示例
FR.extend(ClassA, ClassB, {
a1:v1
a2:v2
})
根據sessionID生成BasePane
返回對中日韓問做了特殊轉換的字符串
語法
FR.cjkEncode(str)
參數
str:需要做轉換的字符串
描述
示例
FR.cjkEncode("This is 帆軟軟件")返回"This is [5e06][8f6f][8f6f][4ef6] "。
將cjkEncode處理過的字符串轉化為原始字符串
語法
FR.cjkDecode(value)
參數
value:需要做轉換的字符串
描述
示例
FR.cjkDecode("This is [5e06][8f6f][8f6f][4ef6] ")返回"This is 帆軟軟件"。
返回json格式的字符串
語法
FR.jsonEncode(o)
參數
o:需要被轉換的對象,可以是Array, String以及Object
描述
示例
FR.jsonEncode([1, 2, 3, 4])返回"[1,2,3,4]"
將json格式的字符串轉化為對象
語法
FR.jsonDecode(value)
參數
value:字符串
描述
示例
FR.jsonDecode("[1,2,3,4]")返回[1,2,3,4]
將object轉換為一個字符串并且以json的格式來寫這個字符串
語法
FR.object2String(o)
參數
o:需要轉換的對象
描述
示例
FR.object2String({text : 'text1', value: 'value1'})返回"{text : 'text1', value: 'value1'}"
判斷對象c是否包含在對象p中。c,p均為DOM對象
語法
FR.contains(p, c)
參數
p:對象1
c:對象2
描述
示例
FR.isAncestor
判斷對象p是不是對象c的祖先。c,p均為DOM對象
語法
FR.isAncestor(p,c)
參數
p:對象1
c:對象2
描述
示例
精確除法
語法
FR.accDiv(arg1, arg2)
參數
arg1:被除數
arg2:除數
描述
示例
FR.accDiv(2.557, 3.6)等于(2557/36)*10^(1-3)
精確乘法
語法
FR.accMul(arg1, arg2)
參數
arg1:乘數
arg2:乘數
描述
示例
FR.accMul(2.557, 3.6)等于2557*36/10^(3+1)
精確加法
精確減法
顯示一個對話框
語法
FR.showDialog(title, width, height, innerContent)
參數
title:對話框的標題
width:對話框的寬度。當width小于0時,會根據內容自適應寬度。
height:對話框的高度。當height小于0時,會根據內容自適應高度。
innerContent:對話框的具體內容
描述
示例
FR.showIframeDialog
在一個iframe中顯示對話框
語法
FR.showIframeDialog(o)
參數
o:對話框參數。可以是一個url或者json對象。
描述
示例
FR.showIframeDialog({url: ' http://www.finereport.com', title: ' FineReport',width: 200, height:400})
顯示一個異步加載的對話框
語法
FR.showRemoteDialog(o)
參數
o:對話框參數。可以是一個url或者json對象。
描述
示例
FR.showIframeDialog({url: ' http://localhost:8080/WebReport/ReportSever?op=__sources__ ', title: ' FineReport',width: 200, height:400})
關閉對話框
語法
FR.closeDialog()
參數
描述
示例
對window的alert方法的替代實現
語法
FR.Msg.Alert(title, message, callback)
參數
title:對話框的的標題
message:對話框顯示的消息
callback:回調函數
描述
示例
確認信息對話框
語法
FR.Msg.Alert(title, message, callback)
參數
title:對話框的的標題
message:對話框顯示的消息
callback:回調函數
描述
示例
輸入信息對話框
語法
FR.Msg.Prompt(title, message, value, callback)
參數
title:對話框的的標題
message:對話框顯示的消息
value:輸入框的默認值
callback:回調函數
描述
示例
使用PDF打印指定url的報表
語法
FR.doURLPDFPrint(url, nopopup)
參數
url:需要使用PDF打印的報表的地址
nopopup:指定是否需要彈出PDF打印設置對話框。默認為false
描述
示例
使用Applet打印指定url的報表
語法
FR.doURLAppletPrint(url)
參數
url:需要使用Applet打印的報表的地址
描述
示例
使用Flash打印指定ur的報表
語法
FR.doFlashURLPrint(url, currentPageIndex)
參數
url:需要使用Flash打印的報表的地址
currentPageIndex:打印的頁碼
描述
示例
把指定dom元素按東南西北中的方式布局
語法
__border__(items)
參數
items:進行boder布局的模塊
描述
是一個JavaScript實現的類似于Java中BorderLayout布局的方法
示例
$("<div>").appendTo("body").css({height: "100%", width: "100%"}).__boder__([
{region: "north", el: element1},
{region: "center", el:elment2}
])
把指定的dom元素按格子分布方式布局
語法
__grid__(items)
參數
items:進行grid布局的模塊以及高度和寬度
描述
示例
$('<div>').css({width:'100%', height:'100%'}).appendTo('body').__grid__({
rows : 2, columns : 2,
items : [
$("<div>").text("no 2").css('height',100).css('overflow', 'hidden'),
$("<div>").text("no 3").css('overflow', 'hidden'),
$("<div>").text("no 4").css('overflow', 'hidden'),
$("<div>").text("no 1").css('overflow', 'hidden')
],
widths : [0, 200], heights:[-1, 100]
})
注冊是一個指定type的組件
語法
FR.comp.reg(type, Class)
參數
type:要注冊的組件的類型
Class:注冊組件的實現類
描述
示例
FR.comp.reg("page", "$.FR.PagePane")
在指定dom節點上生成一個組件
語法
FR.comp.create(el, type, config)
參數
el:組件將附加到此el上
type:組件的type。需要先注冊,參看FR.comp.reg
config:組件的具體屬性
描述
示例
var $el = $("<div id='comb'></div>").appendTo("body");
var config = {
xtype:'combo',
widgetUrl:'testSource/source.js'
};
var com = FR.comp.create($el, "combo", config);
觸發一個有FR.OB對象定義的事件
語法
fireEvent(eventName, [args])
參數
eventName:觸發事件的名字
[args]:可選的參數列表
描述
示例
給FR.OB對象添加一個事件
語法
on(eventName, fn)
參數
eventName:添加事件的名字
fn:該事件的執行函數
描述
示例
給FR.OB對象添加一個僅執行一次的事件
語法
once(eventName, fn)
參數
eventName:事件名字
fn:該事件的執行函數
描述
示例
從一個FR.OB中移除掉指定事件
語法
un(eventName, fn)
參數
eventName:要移除的事件的名字
fn:要移除的事件的執行函數。如果該值為null,,會把eventName下的所有事件都移除
描述
示例
移除掉一個FR.OB下的所有事件
判斷一個控件是否可用
判斷一個控件是否可見
使控件可用
語法
enable()
參數
描述
示例
使控件不可用
語法
disable()
參數
描述
示例
表單提交
語法
formSubmit(o)
參數
o:表單提交的對象。該對象為json對象
o.url:表單提交的地址
o.asyn:提交的方式。true = 異步提交,false = 同步提交
o.callback:表單提交的回調函數
o.data:表單提交的參數
描述
示例
根據名字獲取表單對象中控件的值
語法
getValueByName(name)
參數
name:需要獲取值的控件的名字
描述
示例
很據名字獲取表單對象中的控件
語法
getWidgetByName(name)
參數
name:根據名字獲取控件
描述
示例
根據單元格獲取控件
語法
getWidgetByCell(cell)
參數
cell:單元格位置
描述
示例
getWidgetByCell("D4")
加載報表頁面(展現、填報)
語法
load(o)
參數
o:加載的參數
描述
示例
語法
loadReportPane(options)
參數
options:
描述
示例
IE6下的放大鏡
語法
zoom(scale)
參數
scale:放大或者縮小的倍數
描述
示例
獲取編輯器的值
語法
getValue()
參數
描述
示例
設置編輯器的值
語法
setValue(value)
參數
value:需要設置的值
描述
示例
重置編輯器的值,設為字符串
判斷當前編輯器的值是否有效
獲取編輯器值無效時的錯誤信息
編輯器開始編輯
編輯器停止編輯
檢查button的選中狀態或者設置button的選中狀態
語法
selected(bool)
參數
bool:為為null時返回button的選中狀態;否則設置button的選中狀態為bool。
描述
示例
選取文本編輯器值的指定位置的字符串
語法
selectText(start, end)
參數
start:截取的起始位置。默認為0.
end:截取的結束位置。默認為編輯器值的長度。
描述
示例
點擊trigger圖標的事件
設置下拉框的模式,通過該設置可以讓下拉框強制重新加載數據。
語法
setMode(mode)
參數
mode:模式。' local'——數據已加載,'remote'——數據新加載
判斷下拉框的下拉菜單是否已經展現
打開下拉框的下拉菜單
關閉下拉框的下拉菜單
全局變量:該ReportPage所屬的ReportPage集中的序號
全局變量:該ReportPage所屬的ReportPage集所生成的總的ReportPage的個數
將頁面跳轉到指定頁
語法
gotoPage(num)
參數
num:大于0的數字
描述
示例
pagePane.gotoPage(10)
頁面跳轉至首頁
語法
gotoFirstPage()
參數
描述
示例
頁面跳轉至最后一頁
語法
gotoLastPage
參數
描述
示例
頁面跳轉至當前頁的上一頁
語法
gotoPreviousPage()
參數
描述
示例
頁面跳轉至當前頁的下一頁
語法
gotoNextPage()
參數
描述
示例
服務器打印
郵件發送
PDF打印
Applet打印
Flash打印
將報表導出成PDF
語法
exportReportToPDF(exType)
參數
exType:導出PDF的方式。
描述
示例
將報表導出成excel
語法
exportReportToExcel(exType)
參數
exType:導出excel的方式。
描述
示例
將報表導出成word
變量:填報頁面當前的邏輯數據處理對象
獲取指定格子的值
語法
getCellValue(reportIndex, columnIndex, rowIndex)
getCellValue(columnIndex, rowIndex)
參數
reportIndex:報表索引
columnIndex:列號
rowIndex:行號
描述
示例
設置指定格子的值
語法
setCellValue(reportIndex, columnIndex, rowIndex, cv)
參數
reportIndex:報表索引
columnIndex:列號
rowIndex:行號
cv:要設置的值
描述
示例
停止當前填報面板的編輯
在自動校驗后才提交報表入庫,如果校驗失敗,則不會入庫。
直接提交報表入庫。
保存報表
語法
saveReport(fn)
參數
fn:保存報表后的回調函數
描述
示例
校驗報表
PDF打印
語法
pdfPrint(isPopup)
參數
isPopup:是否彈出PDF打印設置對話框
描述
示例
Flash打印
將報表導出成PDF
語法
exportReportToPDF(exType)
參數
exType:導出方式
描述
示例
將報表導出成Excel
語法
exportReportToExcel(exType)
參數
exType:導出方式
描述
示例
將報表導出成Word
服務器端打印
郵件發送
變量:報表索引
獲取指定格子的值
語法
getCellValue(cr)
getCellValue(col, row)
參數
cr:行列。例如"D3"。
col:列號
row:行號
描述
示例
設置指定格子的值
語法
setCellValue(cr, null, cv)
setCellValue(col, row, cv)
參數
cr:行列。例如"D3"。
col:列號
row:行號
cv:需要設置的值
描述
示例
單元格值改變后出發該函數
語法
fireCellValueChange(tdCell, cv, fm)
參數
tdCell:該格子所處的td。例如$( "#D3-0")。
cv:該格子的值
fm:該格子的公式
描述
示例
判斷該dom的tdCell是否可被選中
語法
isSelectable(tdCell)
參數
tdCell:該格子所處的td。例如$( "#D3-0")。
描述
示例
選中dom tdCell。也就是加個黑邊框,并確保tdCell在屏幕顯示范圍內。
語法
selectTDCell(tdCell)
參數
tdCell:該格子所處的td。例如$( "#D3-0")。
描述
示例
編輯dom tdCell
語法
editTDCell(tdCell)
參數
tdCell:該格子所處的td。例如$( "#D3-0")。
描述
示例
清除格子的選中狀態
把值顯示在td里面
語法
displayTDCell(tdCell, cv)
參數
tdCell:該格子所處的td。例如$( "#D3-0")。
cv:需要顯示的值
描述
示例
了解Java報表工具就從這里開始