About jishuang

该作者尚未填入任何详情
So far jishuang has created 559 blog entries.

自定义的公共js文件如何设置每个.w都默认引用

新建.w是平台默认引用了var justep = require("$UI/system/lib/justep"); 如果自己定义的公共js文件也需要默认就引用可以添加到这个/UI2/system/lib/justep.js中 具体设置如下(在/UI2/demo/common下有一个common.js文件): 1.在justep.js的define中加入common.js的引用 var _Comm = require("$UI/demo/common/common"); 2.添加justep.Comm = _Comm;定义 3.执行model同级的tools\dist下的dist.bat批处理文件合并一下js文件 4.js中可以直接用justep.Comm去调用具体的公共js中的函数

报表中显示attachmentSimlpe组件上传的图片

在报表设计器中,选中要显示图片的单元格,设置属性display-type为image 只要字段中的内容是一个图片的url,就可以显示出这个图片了。 attachmentSimlpe组件对应的存图片的字段里面的内容是JSON格式的,需要将其改为图片的url,这个改变通过写java代码实现,因此reportData不能使用KSQLAction,要使用Action。Action对应的java代码完整案例如下: import java.util.Iterator; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.justep.system.data.KSQL; import com.justep.system.data.Row; import com.justep.system.data.Table; import com.justep.util.Utils; public class Test { public static Table reportAttSimple() { String ksql = "select attSim.* from AP_AttachmentSample attSim"; [...]

如何将自己需要的信息写到Context上下文中

$UI/system/lib/base/context 是页面上下文,通过this.getContext()调用相关的API可以获取到当前页面和当前人等信息 平台提供的context中的信息可能是有限的,如果自己要添加其他的信息如获取当前登录的邮编等,可以通过下面的方式扩展 1.重写平台提供的getSysParamsAction(/BIZ/system/logic/action/system.action.m),把自己需要的信息放到map中返回 public static Object getSysParams() { Map hashMap = (HashMap<String, String>) ContextHelper.getSysParams(); //平台默认的context中的信息 hashMap.put("currentTestLabel", "aaa");//把自己要的信息put到map中 return hashMap; } 2.js中获取返回的currentTestLabel的值 this.getContext().getSystemParameter("currentTestLabel");

报表中边框线的设置

报表读取边线的时候是读取单元格的 左边框和上边框,正常情况下excel中上个单元格的下边框 就是下个单元格的上边框,通过excel的对应的xml文件可以知道这个边框线在上面单元格的下面 和下面单元格的上面都有,但是某些特殊情况excel会在其中一个单元格中丢失边框可能会丢失,可以选中选中没有下边框的下面的单元格,重新设置这个单元格的上边框。 注意:不是缺少边框的单元格,是这个单元格的下边单元格的上边框;而且如果有单元格合并,最好在合并前设置边框,再合并

网格报表设置奇偶行背景色

报表中提供的bgColor是设置单元格的背景样式的,如果要控制整行的,就需要在每个单元格中都设置 下面的案例是对oracle数据库的不同的数据库数据库函数名可能不一样,可以自己到网上查找 要设置奇偶行就需要先知道行号然后判断是奇偶行,获取行号可以用数据库的rownum,判断奇偶行可以用KSQL中mod(Number num1, Number num2) 取模 函数 ksql中的实现可以参考: String ksql = "select mod(SQL.rownum, 2) as num,fj.fName, fj.fFJ from AP_FJ fj "; 在报表的批注表达式中可以判断num的值,如果值为0说明是偶数行,如果值为1说明是奇数行 报表中的具体设置可以参考下图 具体的运行效果如下:

报表默认设置横向打印以及纸张大小

报表中打印默认是纵向的A4纸张大小,如果要调为横向打印同时也要调整纸张大小 如果要修改所有的报表打印都按照横向打印可以修改/UI2/system/service/report/dialog/pageSetup.w中pageInfo上控制这几个值的关系值,看页面展现就能看出来具体的关系名 如果只需要单个报表调整可以在js中设置report组件上的相关的设置如下: this.comp("report1")._config.page.orientation="Landscape"; //设置为横向 this.comp("report1")._config.page.paperType = "B5"; //设置纸张类型 this.comp("report1")._config.page.pageWidth = "182mm"; //设置纸张宽度 this.comp("report1")._config.page.pageHeight = "257mm"; //设置纸张高度 this.comp("report1")._config.page.marginLeft = "10mm";//设置纸张左边距 this.comp("report1")._config.page.marginRight = "10mm";//设置纸张右边距 this.comp("report1")._config.page.marginTop = "10mm";//设置纸张上边距 this.comp("report1")._config.page.marginBottom = "10mm";//设置纸张下边距

报表中div计算的时候如果除数是0怎么写if else

报表中不能用excel表达式,所以不能按照excel中的写法去写if else 一个report对应一个excel文件,同时还有一个跟excel文件同名的xml文件,报表中具体写法要编辑xml文件,参考: 1.在studio中选中xml文件右键切换到资源管理器 2.在资源管理器中用记事本或者notepad++打开xml文件,然后在需要写if的地方有两种写法 第一种用reportData中的字段去计算,如下: <Cell ss:StyleID="s44"><Data ss:Type="String">=if(s6.RUNITPRICE=0) then '0' else (s6.RUNITSINSTOCK div s6.RUNITPRICE)</Data></Cell> 第二种直接用单元格去计算,如下: <Cell ss:StyleID="s35" ss:Formula="=if(RC[-1]=0) then '0' else (RC[-2] div RC[-1])"><Data ss:Type="Error">#NAME?</Data></Cell>

如何调整统一的字体大小

修改某个组件的只是某个组件的字体大小改变了,如果要整体的都改变可以参考 自定义一个css文件如:custom.css 在css文件中如下定义 * { font-size: 12px !important; } 然后在门户portal的首页js中如:/UI2/portal/pc/index.js中引用这个css文件即可