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