报表中如何实现显示复选框

报表中不支持拖放checkbox组件,因此要显示复选框可以用图片的方式实现 1.可以在UI2下放选中和为选中状态的图片,然后在reportData关联的action的ksql或者sql中通过case when设置字段不同的值显示不同的图片路径(选中或未选中),如下: public static Table checkBoxImage() { String ksql = "select docKind.fName,docKind.fCode,docKind.fUseStatusName," + "case when docKind.fUseStatus = 1 then '/UI2/appdemo/test/process/checkboxImage/check.png' " + "else '/UI2/appdemo/test/process/checkboxImage/uncheck.png' end AS fUseStatus " + "from DEMO_DocKind docKind"; Table [...]

报表运行时如何分页显示

平台默认的报表分页设置record-per-page:每页显示几条记录批注是打印和导出PDF在可以起作用的 运行时默认是不会分页的,如果要显示分页需要自己实现分页的工具条,KSQL或者SQL中分页查询 本例是用KSQL实现的,定义了两个action,一个action是带参数分页查报表数据的,另一个action是查报表数据的总记录数 带参数分页查报表数据的action对应的java代码如下: public static Table reportPage(Integer offset){ String ksql = "select rq.* from AP_RQ rq limit " + offset+",10";//KSQL中使用limit分页查询,每页取10条数据 Table table = KSQL.select(ksql, null, "/appdemo/test/data", null); return table; } 查报表数据的总记录数的action对应的java代码如下: [...]

报表导出时加遮罩层

报表中数据多的时候导出会比较慢,可以在导出的时候加一个遮罩层提示 报表导出的请求是ajax请求,因此可以在页面中放popOver组件,在model的onLoad事件中判断ajax请求开始时控制popOver显示,ajax请求结束时控制popOver隐藏 如下: Model.prototype.modelLoad = function(event) { var popOver = this.comp("popOver1"); $(document).ajaxStart(function() { popOver.show(); }); $(document).ajaxStop(function() { popOver.hide(); }); $(document).ajaxError(function() { popOver.hide(); }); };

report组件布局到contents中,contents只能往一个方向滑动

在contents组件中放report组件后,contents中的content滑动切换的时候只能先一个方向滑动,如果出现这个现象可以在report的外层容器的class上加x-scroll-h样式 如下:panel在contents的content中,然后在panel的content中放report,那么就在panel的content的class上加x-scroll-h样式 需要注意的是report出现滚动条的时候需要这样设置,repport没有滚动条不需要这样设置

报表动态设置导出的名字

report组件提供的有setReportName(string 报表名称) 设置报表名称,作为导出后的文件名 可以在model的onload事件中通过this.comp("report的xid").setReportName("要导出的名字");这样在导出的时候就会用设置的名字 注意设置的名字中不需要带后缀,直接写后缀前面的就可以 如:this.comp("report的xid").setReportName("test");

report中设置date类型数据的显示格式

report组件是用excel显示数据的,所有数据的显示格式可以通过excel单元格显示样式中的格式控制 对于Date(非DateTime)类型如果要设置单元格格式需要在java中返回Table前对数据进行处理 如:设置显示XXXX年XX月的格式 1.excel中的设置 2.reportData关联的action对应的java中table的处理 public static Table reportDate(){ String ksql = "select AP_RQ.fName,AP_RQ.fRQ as fRQD,AP_RQ.fRQSJ from AP_RQ AP_RQ"; Table table = KSQL.select(ksql, null, "/appdemo/test/data", null);//执行ksql table.addColumn("fRQ", "String");//在table中新添加一列 Iterator<Row> it = table.iterator();//遍历table操作里面的数据 while (it.hasNext()) [...]