grid列设置固定宽度隐藏其他的列后列宽不变怎么设置

grid中的列设置固定宽度,当隐藏某些列时剩下的列宽默认是会把隐藏列的宽度平分,导致列宽发生变化 平台默认的没有提供隐藏其他的列后列宽不变的设置 grid用的是jquery grid,所以当平台提供的grid方法中没有相关的设置时,可以到网上查找jquery grid是否有相关的设置 设置固定宽度隐藏其他的列后列宽不变标准的jquery grid提供了参数设置具体如下: this.comp("mainGrid").$domNode.jqGrid('setGridParam', {shrinkToFit:false}); 其中的mainGrid是grid组件的xid

如何根据概念标识获取概念全路径和label

java中通过概念标识获取全路径参考: Model m = ModelUtils.getModel("/appdemo/test/data"); Concept c = m.getUseableConcept("AP_RQ"); String coptFullName = c.getFullName(); /appdemo/test/data是data数据模块全路径 AP_RQ是概念的标识 java中通过概念标识获取label参考: Concept c = (Concept)ModelUtils.getModelObjectByFullName("/appdemo/test/ontology/AP_RQ", Concept.TYPE); String label = c.getLabel(ContextHelper.getOperator().getLanguage()); /appdemo/test/ontology/AP_RQ是概念全路径(带模块路径的概念标识),AP_RQ就是概念

loadData的数据data中如何保存

data上提供的loadData方法加载数据,如果加载的数据需要保存需要把加载的数据设置为新增的状态 可以在action的java方法中返回Table前,遍历Table设置行状态 代码如下: public static Table loadDataRQ(){ String ksql = "select rq.* from AP_RQ rq where rq.fName like '%aa%'"; Table table = KSQL.select(ksql, null, "/appdemo/test/data", null); table.getProperties().put(Table.PROP_NAME_ROWID, "rq"); Iterator<Row> rows = table.iterator(); while (rows.hasNext()) [...]

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;

流转前获取当前环节的上一个活动环节

在process文件的onBeforeAdvanceQuery(流转查询前)和onBeforeAdvance(流转前)事件中都可以获取到当前环节的上一个活动环节,具体实现如下: List<ActivityInstance> activityInstances = ProcessUtils.getAI().getPrevAIs2();//获取流程上下文中的当前环节的直接前续环节实例,不包括环节不存在的环节实例 for (ActivityInstance activityInstance : activityInstances) { Activity activity = activityInstance.getActivity();//获取环节对象 if ((activity !=null) && activity.isManual()){ //判断当前环节是否是手动环节 String activityID = activity.getName();//获取activity标识 String activityName = activity.getLabel(ContextHelper.getOperator().getLanguage());//获取activity的label } }

一个人有同一个流程的多个流程模版权限如何根据业务数据选择不同的模版

平台提供的获取流程模版的函数,但同一个流程有多个流程模版都有权限时是随机取的其中一个,如果需要根据业务数据选择不同的模版,可以自己定义一个函数实现 本例是根据流程模版名称获取不同的流程模版的,到SA_ProcessTemplate获取sName为需要的值时主键值并返回 函数的java代码定义如: public static String flowTemp(String temp) { String ksql = "select t from SA_ProcessTemplate t join SA_ResourceControl rc on t=rc.sResourceID where " + "rc.sTypeID='PROCESS_TEMPLATE2' and t.sValidState=1 " + "and t.sName=:temp and t.sKindID='template' [...]

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

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

action返回如123.00这样的BigDecimal类型数据,js中获取小数会丢失

java中直接返回BigDecimal类型的数据,如果小数位都是0时,返回的数据小数会丢失,如下: public static BigDecimal simple() { BigDecimal i = new BigDecimal(12.00).setScale(2); return i; } 在js中接收到的数据会变成12,如果js中接收到的数据必须有小数,需要在java中把BigDecimal转换为String类型的,返回String类型,因此上面的代码需要修改为如下: public static String simple() { String i = new BigDecimal(12.00).setScale(2).toString(); return i; } 这样js中接收到的数据就是12.00

流转对话框中如何控制只允许选择一个人

平台默认的流转对话框中执行者是可以显示多个的,并且选择执行者对话框中也是多选的,如果需要控制只允许选择一人需要对流转对话框进行修改 某个具体流程功能的流转对话框可以参考http://docs.wex5.com/bex5-process-question-list-10008/ 由于平台默认的/UI2/system/service/process/dialog/processDialog.w是继承/UI2/system/service/process/dialog/processDialog.m.w实现的,所以processDialog.w中调用的某些js方法是在/UI2/system/service/process/dialog/processDialog.m.js中定义的,因此在自己扩展流转对话框中如果有需要修改平台原始的js方法的,需要自己把/UI2/system/service/process/dialog/processDialog.m.js中的函数定义复制到自己的js中然后进行修改 设置流转对话框只运行选择一个需要如下两个地方控制 1.控制选择执行者对话框中为单选 修改Model.prototype.createExecutorDialog = function() {中的multiSelection的值为false;具体如下: Model.prototype.createExecutorDialog = function(){ return new OrgDialog({ cacheKind: cacheKind, title: new justep.Message(justep.Message.JUSTEP230055).getMessage(), showTitle: true, multiSelection: true, parentNode: this.getElementByXid("dialogs") }); }; V3.7之前的版本这个修改需要替换下面的文件/UI2/system/components/justep/org/dialog/singleOrgDialogPC.js 2.选择执行者对话框返回数据后,执行者只允许显示最后选择的人 修改Model.prototype.getExecutorDialog = function(){中对executorData的 [...]

流转对话框选择执行者如何控制只能选择指定的组织类型

流转对话框选择执行者时平台用的是orgDialogPC(orgDialog)打开的,默认是有环节权限的组织类型都可以选择,控制只能选择指定的组织类型,可以通过orgDialogPC(orgDialog)的selectFilter特性 选择执行者对话框是通过new orgDialogPC(orgDialog)组件创建的,因此可以在创建的时候设置selectFilter 如下控制PC只能选择具体的人员成员: /UI2/system/service/process/dialog/processDialog.js的Model.prototype.createExecutorDialog = function(){方法中控制 Model.prototype.createExecutorDialog = function(){ return new OrgDialog({ cacheKind: cacheKind, title: new justep.Message(justep.Message.JUSTEP230055).getMessage(), showTitle: true, multiSelection: true, parentNode: this.getElementByXid("dialogs"), selectFilter : 'val("sOrgKindID") =="psm"' }); }; 平台默认的sOrgKindID的值如下: ogn:机构 dpt:部门 [...]