注意: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 函数具体介绍: 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('<divclass="{0}">{1}</div>"', cls, text); s等于'<div class="my-class">Sometext</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("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.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("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上 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:需要显示的值 描述 示例 |