About jishuang

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

attachmentSimple上传附件后修改文件名

attachmentSimple组件通过bind-ref的设置把上传的文件的相关信息(如:文件名等)以json串的方式赋值给了bind-ref关联的关系 要修改文件名获取关系的值修改json后重新给关系赋值即可 Model.prototype.button7Click = function(event) { var data = this.comp("mainData"); var fFJ = data.getValue("fFJ");// 获取attachmentSimple关联的关系的值 var jsonList = eval("(" + fFJ + ")");// 把获取的值转换为json对象 for (var i = 0; i < jsonList.length; i++) { [...]

java中解析attachment(非attachmentSimple)相关附件组件存储的json

java中获取到附件存储的json后要从中获取docID、fileID等信息,需要对json传进行解析 参考如下: final String DATA_MODEL = "/demo/misc/data"; String ksql = "Select sendDoc.* from DEMO_SendDoc sendDoc"; Table table = KSQL.select(ksql, null, DATA_MODEL, null); Row row = table.getRow("sendDoc", "CB2ED0E4FBBF421583CE48D7B6E74A4A"); String attachmentInfo = row.getString("fAttachment");//获取到存储附件信息的字段值 JSONArray ja = [...]

自定义action返回的数据如何显示

平台提供的展现组件一般都是通过关联data显示数据的,那么自定义的action放回的数据要显示简单的就是把返回的数据给data data中提供了loadData方法加载数据,可以把数据加载到data 具体参考: 1.定义action,action对应的java代码如下:注意的时候java方法的返回值类型是Table的 public static Table loadData(){ String ksql = "select rq, rq.fName ,rq.fCode,rq.fRQ, rq.fRQSJ from AP_RQ rq where rq.fName = 'aaaa'";//需要查询数据的ksql Table table = KSQL.select(ksql, null, "/appdemo/test/data", null);//调用平台提供的API执行sql,并返回table return table; } [...]

设置树形显示图标

grid组件通过属性设置可以显示tree,平台默认树节点前显示的是展开的图标如下: 如果需要类似与组织机构中的机构、部门、人员等显示不一样的图标可以在grid的onTreeIconRender事件中实现 onTreeIconRender (TreeIconRenderEvent event) [回调型事件]树形图标渲染 Parameters TreeIconRenderEvent event 结构如下: { "source" : 组件的js对象, "bindingContext" : 组件绑定的上下文,包含$model、$object等具体请参考bindingContext说明 "rowID" : 行ID "row" : 行 "html" : 输出显示的html,通过修改html影响展现 } 直接修改html参数控制显示图标 如下控制的根节点和下面的节点显示不一样的图标 Model.prototype.treeGridTreeIconRender = function(event){ [...]

数据loadData给data后不会显示

loadData函数是data加载数据的底层函数,既不会改变当前行也不会刺激刷新相关事件,主要用于data和data之间数据传递或者批量加载数据,不会触发任何刷新相关的事件,所以默认的load后是不会显示数据的 如果使用loadData来加载数据,那么一定要自己在加载数据后通过修改data游标的方法指定当前行,如:to()、first()等方法指定data的当前游标,同时还要特别注意grid,dataTable组件需要主动调用grid,dataTable组件的refresh()方法重画 对于data推荐是接管onCustomRefresh事件来重新实现data的数据refreshData逻辑,同时在所有的外部调用都是用refreshData方法或者刷新操作 需要注意的是不要在loadData后直接调用data的refreshData方法

orgSelect、orgDialog相关的组件控制只允许选取人员

平台默认提供了orgSelect、orgSelectPC、orgDialog、orgDialogPC组件可以选择组织机构数据 这些组件都提供了selectFilter选中过滤表达式,通过这个属性可以控制某些行数据不让选择 表达式执行的this是行,即$row 当前表达式中可使用变量: "$model" : 当前的model, "$row" : {$UI/system/components/justep/data/data#Row} 当前过滤执行的行 如下设置只允许选择人员 selectFilter="val("sOrgKindID") =='psm'"

mysql数据库控制报错:Unknown column ‘XXX’ in ‘field list’

在操作数据库时,有时数据库会报Unknown column 'XXX' in 'field list'类似的错误 如下:Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'PM_ProjType.fID' in 'field list' 这个错误是指数据库没有找到相关的字段,上面的错误信息就是没有找fID字段,需要到数据库中确认是否有这个字段 如果用的是ksql并且概念中的关系名和数据库中对应的字段不一样要确保在映射中设置了对应关系 下图中是普通字段和关系的对应关系,还要看主键是否一致

attachment(非attachmentSimple)组件多选设置

附件组件默认是一次只能选一个文件,如果要实现一次可以选择多个文件需要通过js代码设置 在model的onLoad事件中如下设置 var uploader = this.comp("attachmentPC1").uploader;//获取附件组件中的uploader $(uploader.inputElement).attr('multiple', 'multiple');//设置uploader中的multiple属性值 attachmentPC1是附件组件的xid,其他的写法都是固定

mysql数据库控制台报错Unknown system variable ‘language’

在登录或其他操作数据库的时候服务端控制台报错 Caused by: java.sql.SQLException: Unknown system variable 'language' at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847) 这个错误的原因一般是mysql驱动的问题,V3.4及其之后的版本平台默认带的mysql的驱动是mysql-connector-java-5.1.36-bin.jar,如果mysql数据库用的是V3.4之前版本提供的mysql数据库,需要把之前版本 tomcat\lib下的mysql驱动mysql-connector-java-3.1.12-bin.jar拷贝到目前使用的tomcat\lib下把目前的mysql-connector-java-5.1.36-bin.jar去掉