loadData的数据grid中不能编辑并且点击后值不显示

默认的bizData中用的概念别名做的主键名(queryAction中idColumn参数的设置) cData中的主键列是自己设置的 在对数据进行操作的时候需要根据rowid(主键值)去操作的,当没有主键值的时候grid中是不能对数据编辑的 所以当loadData的数据grid中不能编辑并且点击后值不显示时,要确认action中返回的数据列中是否有bizData需要的idColumn参数值,或者是cData上的主键列,如果没有需要加上 如果返回的数据中要做主键的列不是idColumn参数值或者cData上的主键列,可以在action对应的java中table返回前设置主键列 如下: String ksql = "select sz.* from AP_SZ sz"; Table table = KSQL.select(ksql, null, "/appdemo/test/data", null); table.getProperties().put(Table.PROP_NAME_ROWID, "sz"); return table;

select组件选择“请选择”后在下拉区域中会多一个“请选择”

select的options中bind-optionsCaption属性设置无值时的提示信息如“请选择”,在下拉区域中也会显示这个选项 当选择“请选择”后在下拉区域中会多一个“请选择”,这个问题的原因是select的bind-ref和bind-labelRef关联的是同一个关系 当bind-ref和bind-labelRef用同一个关系是只需要设置bind-ref就可以,bind-labelRef不需要设置,这样就不会重复出现“请选择”这个选项

attachmentPC组件点击文件名调用自己的js方法

平台默认的attachmenPC组件文件名的click调用的是$model.previewOrRemoveItem.bind($model,$model.$activeDoc.get())打开附件查看,如下 <a class="btn btn-link" data-bind="enable:($model.$activeDoc.get().fileID.get() &amp;&amp; $model.$access.get() % 4 &gt;= 2),click:$model.previewOrRemoveItem.bind($model,$model.$activeDoc.get()),text:$model.$activeDoc.get().docName.get()" xid="a4"/> 如果要调用自己当前.w对应的js中的方法,可以如下修改 $model.getModel().attachmentClick.bind($model.getModel(),$model.$activeDoc.get()) 其中attachmentClick是js中的函数名 js文件中定义如下: Model.prototype.attachmentClick = function(event) { var docPath = event.docPath.get(); var fileID = event.fileID.get(); var url = DocUtils.InnerUtils.getdocServerAction({ [...]

attachmentPC组件上传的office文件实现在当前页打开在线查看

附件组件在线查看平台默认的是用浏览器的另一个页签打开的,如果需要在当前页面中显示可以如下操作 1.js定义的define中引用 var officeViewer = require('$UI/system/components/justep/docCommon/officeViewer'); var $OV = officeViewer.$OV; var OV = officeViewer.OV; 2.在.w中定义一个div <div xid="officeViewer" /> 3.在div中创建ocx并打开文件 var data = this.comp("mainData"); var fFJ = data.getValue("fFJ"); var jsonList = [...]

gridselect修改下拉区域鼠标悬停时列的提示信息

gridSelect组件下拉区域里面其实是grid,所以修改鼠标悬停时列的提示信息,可以通过获取到里面的grid在grid的onCellRender中处理,如下: Model.prototype.gridSelect3ShowOption = function(event) { var gridselect = event.source;//获取gridselect组件 var grid = gridselect.grid;//获取gridSelect组件内部的grid grid.on('onCellRender', function(event) {//使用on方法添加onCellRender事件 if (event.colName == "fName") { var title = event.colVal + 'bbbb';//设置鼠标悬停时显示的内容 event.html = "<div title='" + title + [...]

自己的js文件如何生成类似于comp.min.js这样的文件

平台版本某些组件或者公用的js文件,没有提供原始的js文件也可以运行是因为平台默认的把这些文件合并到类似于comp.min.js这样的,运行的时候直接找的合并后文件 如果自己定义的js文件也需要这样,可以如下操作: 1.参考/UI2/system/common.min.js.xml的文件,自己定义一个xml文件,文件名的命名格式为XXX.min.js.xml 在xml配置要合并的js文件路径以及合并后的生成的js文件名字 配置要合并的js文件路径用file节点如下: <file>components/justep/shell/shellImpl.config.js</file> 配置合并后的生成的js文件名字用output节点如下: <output name="common.min.js"/> 2.执行tools\dist\dist.bat 需要注意的是xml文件的位置:如果你要合并的是x5demo/baseDemo下js文件的,你需要把XXX.min.js.xml放到x5demo/baseDemo下,这样运行时平台默认就会找合并后的js文件 如下: 如果自己的js文件中有引用系统的文件,并且系统的文件也被合并了,需要在xml中用depend配置合并文件的路径,注意配置文件路径时要用相对路径,如下xml文件的内容

attachment(非attachmentSimple)相关的附件组件判断未上传完成不能保存数据

attachment(非attachmentSimple)相关的附件组件上传文件后要执行业务数据data的保存才会生成fileID的值,才可以操作附件 因此要确保附件上传完之后再保存数据,没上传完就保存,附件组件的数据有可能会不正确导致附件操作失败 attachment(非attachmentSimple)相关的附件组件提供的有: onStart开始上传前事件 onSuccess上传完成事件 因此可以用这两个去控制附件没有上传完时不允许保存 1.在model中定义一个实例变量this.attachmentSuccess var Model = function() { this.callParent(); this.attachmentSuccess = true; }; 2.在onStart事件中设置实例变量的值为false Model.prototype.attachmentPC1Start = function(event){ this.attachmentSuccess = false; }; 3.在onSuccess事件中设置实例变量的值为true Model.prototype.attachmentPC1Success = function(event){ this.attachmentSuccess [...]

justep.Util.hint字体样式的控制

如果是单个的justep.Util.hint提示要控制样式可以在调用的设置style,如下: justep.Util.hint("提示信息", { "tyep" : "info", "delay" : 100000, "position" : "bottom", "style":"color:yellow;font-size:40px" }); 如果是所有的都控制,修改系统原来的样式可以定义公共CSS文件,在门户首页中引用这个CSS文件。例如在/UI2/portal/pc/index.w中引用,在CSS文件中重写x-hint样式如下: .x-hint{ font-size:28px; color:blue; }

5.2升级到5.3版本blobImage删除图片报”没有定义参数’concept'”

5.2升级到5.3版本UI和UI2公用的同一个BIZ,5.3版本中对blobImage相关的action的参数名做了调整,因此在5.2中如果有自己调用blob相关的action时需要注意参数名是否正确 具体的参数名可以参考/BIZ/system/logic/action/blob.action.m blobImage组件删除图片是报错没有定义参数'concept'就是参数名不正确,如下修改: /UI/system/components/blob/blob.js中 把 param.setString('concept', this.getConcept()); 改为: param.setString('blobConcept', this.getConcept());