grid动态渲染显示不同的按钮

grid可以在onCellRender中把某列渲染显示为按钮 在某些情况下可能需要根据其他关系的值判断显示不同的按钮,并再其他关系的值改变的时候也动态的去修改渲染显示的按钮,这样只在onCellRender中处理时不够的, 需要在data的onValueChange或者onValueChanged事件中去触发grid的刷新,使其重新渲染 如下: 根据fXB的值设置relation0列显示不同的按钮在onCellRender中的处理: Model.prototype.grid1CellRender = function(event){ var fxb = event.row.val("fXB"); if (event.colName == "relation0"){ if(fxb == '0') event.html = "<button class='btn btn-default btnDel' xid='delbtn'>删除</button>"; else event.html = "<button class='btn btn-default btnNew' xid='delbtn'>新增</button>"; [...]

JS文件的国际化设置

JS文件的国际化设置有两种方法 方法一:将整个JS文件作为语言资源文件 JS文件及语言资源文件,如下图所示 在不同的语言文件中设置不同的显示信息 方法二:将JS文件中的需要语言转换的字符串抽取成变量,定义在单独的JS文件中,并将此JS文件进行国际化设置,这样就实现了语言属性文件的效果(推荐) 案例 将/UI2/appdemo/test/process/total/mainActivity.js文件中需要语言转换的字符串抽取成变量 Model.prototype.button20Click = function(event) { alert(Lang.information); }; 新建/UI2/appdemo/test/process/total/lang.js文件,在lang.js中给这个变量赋值,并将lang.js文件进行国际化设置,lang.js的完整定义如下: define(function(require) { return { information: "information" } }); lang.js文件国际化设置如下: 在/UI2/appdemo/test/process/total/mainActivity.js文件文件中增加对lang.js文件的引用 var Lang = require("./lang"); JS文件及语言资源文件,如下图所示 [...]

grid动态设置前端过滤

grid中提供了filter属性设置数据过滤表达式,表达式中可以使用$model,$object,$parent,$row(执行过滤的数据行对象)变量,属于前端过滤 如果要动态设置,可以调用grid的setFilter方法设置 参考: var grid = this.comp('grid1'); grid.setFilter("$row.val('fName') == 'bbb'"); grid.refresh(); 其中:grid1是grid组件的xid

gridSelect多选时如何执行多选事件

gridSelect本身是没有多选相关的事件中,但gridSelect的下拉区域用的是grid,因此可以获取到gridSelect内部的grid调用grid的多选事件,当然也可以调用其他的事件 需要注意的是gridSelect内部的grid需要在下拉后才生成,因此可以在gridSelect的onShowOption事件中进行处理: 如下根据选择的数据进行具体的条件判断取消选择: Model.prototype.gridSelect8ShowOption = function(event) { var gridselect = event.source;//获取gridselect组件 var grid = gridselect.grid;//获取gridSelect组件内部的grid var self = this; grid.on('onRowCheck', function(event) {//使用on方法添加onRowCheck事件 var checkRows = event.source.getCheckedRows();//获取已经选择的数据 if(XXX){ justep.Util.hint("最多只能选择2个数据", { parent : self.getRootNode(), type : [...]

widget中的内容如何复制

widget中的内容默认是不能通过鼠标去选择文字,然后复制粘贴的,因为widget组件默认是允许拖拽 而拖拽用的就是鼠标事件,选择也是用的鼠标事件会导致冲突,因此如果要设置可以鼠标选择复制需要设置widget不允许拖拽 不允许拖拽可以参考 http://docs.wex5.com/bex5-ui-question-list-10178/

设置首页的widget不允许拖拽

BeX5首页的widget块(默认的提交、待办也可以自己添加widget)是可以拖拽挑动位置的,如果不允许拖拽有如下两个方案 方案一: 在/UI2/portal/pc/main/main.w(pc和pc3门户的控制)或者/UI2/portal/pc2/main/main.w(pc2门户的控制)文件的model的onload事件中找到 this.widgetsComp = this.comp('widgets'); 在其下添加 this.widgetsComp.set({"draggable":false}); 完整代码的如下: if(!widgetList) throw '系统没有获得widget列表'; this.widgetList = widgetList.menu.$children; this.widgetsComp = this.comp('widgets'); this.widgetsComp.set({"draggable":false}); var customCfg = null; 方案二:直接修改widgets组件中的设置 /UI2/system/components/justep/widgets/widgets.js中找到 this.draggable = true; [...]

Office在线编辑特性浏览器支持特别说明,建议使用的浏览器

(1)IE10,IE11 (2)Chrome 39, 40, 41, 42版(可下载免安装的绿色版本ChromiumPortable_41 下载地址: https://pan.baidu.com/s/1c1YY2U8) 注:由于chrome43以上版本限制了浏览器插件能力,所以无法支持在线编辑office文档。此特性会跟随浏览器版本更新设计改进方案,以获得更好的兼容性。

bizData、queryAction的order by跟grid列头服务端排序的优先级

bizData中的属性设置其实就是给queryAciton中的参数赋值的,因此bizData设置了order by那么就会把queryAction中的设置冲掉,bizData中的起作用 grid的列通过sortable为true设置为可排序,通过grid上的serverSort为true设置为服务端排序,就是order by会拼接到最终执行的sql上 bizData或者queryAction中设置了order by,并在grid中点击了表头的排序,那么grid中的排序会优先,然后是bizData或者queryAction中的 如bizData或者queryAction中设置是fName desc ,grid中在fCode中执行了降序desc,那么最终执行的sql中的order by为order by fCode desc,fName desc

如何选择岗位登录

BeX5的组织管理中某些人可能是一人多岗的,功能中可能需要默认就按照指定岗位获取相关的数据 平台默认的是在功能树上打开功能的时候选择岗位,如果想要在登录的时候就直接按照选择的岗位登录,参考如下: 说明 login.w的路径:/UI2/portal/base/login/login.w login.js的路径:/UI2/portal/base/login/login.js base.js的路径:/UI2/portal/base/base.js 推荐用扩展空间去修改 1.在login.w中添加data1用来存储岗位信息,data的autoLoad设置为false <div component="$UI/system/components/justep/data/data" autoLoad="false" xid="data1" idColumn="SID" onCustomRefresh="data1CustomRefresh"> <column name="SID" type="String" xid="xid1"/> <column name="SFID" type="String" xid="xid2"/> <column name="SFNAME" type="String" xid="xid3"/> </div> 2.在data的onCustomRefresh事件中给data加载岗位数据 获取岗位数据要用到登录输入的用户名去过滤,由于是在登录前获取的,所有不能用bizData或者biz层的action去返回数据,需要自己定义.j获取数据并返回 本例定义的.j是/UI2/portal/base/login/selectPerson.j import java.io.IOException; [...]