FineReport_JS整理

楼主
我是社区第1572位番薯,欢迎点我头像关注我哦~
注意:JavaScript需要改进的地方
1)私有方法是不是要统一以"_"(下划线)开头
2)
1.对象函数
Array:
String 静态方法:
String:
       startWith
Fuction:
       createCallback
createSequence
2.常态函数
       FR.emptyFn
       FR.applyStyles
       FR.object2String
       FR.accMul
       FR.accMin
3.UI函数
       FR.showDialog
4.打印
5.jQuery布局
       __border__
       __grid__
6.组件注册和生产
       FR.comp.reg
       FR.comp.create
7.FR.OB(事件观察者)
       fireEvent
       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
       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
       isExpanded
       expand
       collapse
FR.CheckboxEditor(下拉复选框) extends ComboBoxEditor
FR.TreeComboBoxEditor(下拉树) extends CheckboxEditor
13.
FR.PagePane extends BasePane
       currentPageIndex
       reportTotalPage
    gotoPage
       gotoFirstPage
       gotoLastPage
       gotoPreviousPage
       gotoNextPage
       emailReport
       pdfPrint
       appletPrint
       flashPrint
14.
  FR.WritePane extends BasePane
       curLGP
       setCellValue
       stopEditing
       writeReport
       saveReport
       verifyReport
       pdfPrint
       flashPrint
       emailReport
  FR.WLGP(WritePane的逻辑数据处理对象) extends FR.OB
       idx
       getCellValue
       setCellValue
       isSelectable
       selectTDCell
       editTDCell
       displayTDCell
函数具体介绍:
indexOf
计算一个参数,返回它在数组中的位置,如果不在数组中,则返回-1
语法
       Arr.indexOf(o)
参数
       对象
描述
       indexOfFineReport对数组对象函数的一个扩充
示例
   ["st", "es","cd", "ds"].indexOf("cd")返回2
   ["st", "es","cd", "ds"].indexOf("ut")返回-1
remove
移除数组对象中一个指定的元素,并返回一个新的数组
语法
       Arr.remove(o)
参数
       对象
描述
       RemoveFineReport对数组对象函数的一个扩充
示例
       ["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.escapeFineReport自定义的一个函数
示例
String.leftPad
返回一个左对齐的字符串
语法
String.leftPad(val, size, [ch])
参数
       val:需要转换的对象;
       size:补齐后总共的产度;
    ch(可选):补齐所用的字符,默认为" "
描述
       String.leftPadFineReport自定义的一个函数
示例
       String.leftPad("FineReport", 20, "left")返回" leftleftleftFineReport"
      
String.format
返回格式化后的字符串
语法
       String.format(str,[val])
参数
       str:需要被格式化的原始字符串
       [val]:可选参数,标识被格式化的样式
描述
String.formatFineReport自定义的一个函数
示例
       var cls = 'my-class',text = 'Some text';
       var s = String.format('<divclass="{0}">{1}</div>"', cls, text);
       s等于'<div class="my-class">Sometext</div>"'
startWith
判断一个字符串是否以指定的字符串开始
语法
   "finereport".startWith("fine")
参数
字符串
描述
       startWithFineReportString的函数的扩充
示例
"finereport".startWith("fine")返回true
"finereport".startWith("report")返回false
endWith
判断一个字符串是否以指定的字符串结束
语法
   "finereport".endWith("report")
参数
字符串
描述
       endWithFineReportString的函数的扩充
示例
"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("Thisis 帆软软件")返回"This is [5e06][8f6f][8f6f][4ef6]"
FR.cjkDecode
cjkEncode处理过的字符串转化为原始字符串
语法
       FR.cjkDecode(value)
参数
       value:需要做转换的字符串
描述
示例
       FR.cjkDecode("Thisis [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
windowalert方法的替代实现
语法
       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实现的类似于JavaBorderLayout布局的方法
示例
       $("<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("no2").css('height',100).css('overflow', 'hidden'),
                     $("<div>").text("no3").css('overflow', 'hidden'),
                     $("<div>").text("no4").css('overflow', 'hidden'),
                     $("<div>").text("no1").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
判断该domtdCell是否可被选中
语法
       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:需要显示的值
描述
示例
分享扩散:

沙发
发表于 2012-2-29 17:49:57
写的有点乱,没看懂
板凳
发表于 2012-2-29 20:26:08
不懂,帮顶
地板
发表于 2012-3-3 16:52:57
顶礼膜拜:)
5楼
发表于 2012-3-3 17:01:48
不错啊,很实用
6楼
发表于 2012-3-3 17:03:00
看不懂....MARK待以后学习....
7楼
发表于 2012-3-4 08:29:32
这个挺不错的,总结的很全面,也很实用,呵呵,给个精华,嘿嘿
8楼
发表于 2012-3-4 09:57:03
感觉很乱。。。。
9楼
发表于 2012-3-5 20:38:30
虽然不太明白,但是好厉害的样子。:lol
10楼
发表于 2012-3-6 13:50:05
不错顶了
11楼
发表于 2012-3-15 16:22:36
能否发个整理过的文档供下载?页面上看着有点乱那,不过还是非常感谢!
12楼
发表于 2012-3-16 23:17:16
顶啊,真的顶好
13楼
发表于 2014-7-21 11:35:48
感谢分享。。。
14楼
发表于 2014-7-22 16:55:16
厉害,学习了,;P
15楼
发表于 2016-6-3 17:46:37
好东西啊,找了很久。
16楼
发表于 2016-6-27 17:05:40
看不懂....MARK待以后学习....
17楼
发表于 2017-4-26 17:01:10
FR.CheckboxEditor(下拉复选框)  Box B大写,一直报错,直到看了源码才找到问题
18楼
发表于 2017-5-15 08:33:29
谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

17回帖数 3关注人数 15765浏览人数
最后回复于:2021-2-16 09:25

返回顶部 返回列表