exportExcel组件导出时如何动态设置导出的列

exportExcel组件可以设置导出data中的数据,组件默认提供的relations属性可以设置导出哪些列的数据 这个属性设置的是每次导出的列都是一样的,如果需要动态控制根据不同的判断导出的列不同可以在exportExcel组件的onBeforeExport事件中设置 如下: Model.prototype.exportExcel1BeforeExport = function(event) { event.source._relationWidths = null; if (this.i == 0) { event.source.relations = "fName:,fCode:"; this.i++; } else{ event.source.relations = "fName:"; } }; event.source.relations设置的就是要导出的列

数据库存的是数字,grid或者dataTables如何设置显示具有实际意义的中文信息

数据库中存的是数字,grid或者dataTables中显示的时候要显示具有实际意义的中文信息时可以参考下面的方案 本例中是数据库中存0或者1,页面中显示男或女 方案一:在ksql中定义自定义关系设置case when ,前端直接显示自定义关系的值 select AP_XSXB .*,(case when AP_XSXB.fXB = '0' then '男' when AP_XSXB.fXB = '1 then '女‘ else ‘’ end As sex) as custom1 from AP_XSXB AP_XSXB 方案二:在grid或者dataTables的onCellRender中设置 Model.prototype.grid1CellRender [...]

简单的问卷调查列表

之前的问卷调查都是一页显示一条数据,本例中是一页显示多条数据 共有两个data分别Question(问题)、Option(选项) 定义如下: <div component="$UI/system/components/justep/data/data" autoLoad="true" xid="Question" idColumn="fID"> <column label="ID" name="fID" type="String" xid="xid4"/> <column label="键" name="fBatch" type="String" xid="xid5"/> <column label="问题" name="fName" type="String" xid="xid6"/> <column label="类型" name="fType" type="String" xid="xid7"/> <data xid="default2">[{"fID":"20160529001","fBatch":"20160529","fName":"您是从哪里来参加本次开发者活动的?","fType":"单选"},{"fID":"20160529002","fBatch":"20160529","fName":"你是首次接触到WeX5吗?","fType":"单选"},{"fID":"20160529003","fBatch":"201605291","fName":"你参加本次活动的目的是:","fType":"多选"}]</data> <column label="答案" name="fAnswer" type="String" [...]

attachmentSimple控制只能上传一个文件,再上传提示是否替换

attachmentSimple组件默认没有提供设置上传个数的控制,如果需要控制,可以获取到组件上的uploader,在uploader上绑定事件onFileSelected进行控制 获取uploader参考: var attachmentSimple = this.comp("attachmentSimple3") var uploader = attachmentSimple.uploader; 给uploader绑定onFileSelected参考: uploader.on('onFileSelected',function(event){ }); 控制只能上传一个文件,再上传提示是否替换可以在model的onLoad事件中如下实现: Model.prototype.modelLoad = function(event) { var attachmentSimple = this.comp("attachmentSimple3") var uploader = attachmentSimple.uploader; var data = this.comp("mainData"); [...]

app中查看attachment中附件报错“handleDocumentWithURL is not defined”

手机app中点击attachment中的附件查看时会提示“handleDocumentWithURL is not defined” 手机app中查看附件是需要cordova插件的,打包的时候没有选择相关的插件,app中操作就会报错 手机app中操作附件需要的插件如下,打包的时候要把这些插件勾选上: cordova!cordova-plugin-file cordova!cordova-plugin-file-transfer cordova!cordova-plugin-inappbrowser cordova!ch.ti8m.documenthandler cordova!cordova-plugin-x-toast

移动端如何在首页添加待办任务类型的功能块

移动端首页待办任务块不是通过widget配置的,所以要添加自己的块不能通过widget配置实现,具体操作参考如下: 参考/BIZ/OA/personalOffice/logic/action/portal.action.m中的action,定义一个自己功能的action,然后在/BIZ/portal/logic/action/message.config.m中添加action的配置即可 需要注意的是 1.action中要返回Map类型的数据,如: public static Map<String, Object> gridPortal(){ HashMap<String, Object> result = new HashMap<String, Object>(); result.put("fLabel", "显示不同的grid"); result.put("fProcess", "/appdemo/test/process/grid/gridProcess"); result.put("fActivity", "mainActivity"); result.put("fCount", 2); return result; } 2.要在java代码给参数fProcess设置的process文件的动作设置中添加自己定义的action 3.要确保给参数fProcess设置的process和activity进行功能权限的发分配

动态创建labelInput

labelInput是由labelEdit扩展的,有label和input组合的,所以在创建labelInput时要创建分别创建labelEdit、label和input然后再组合 参考如下: 引用js文件: var labelEdit = require("$UI/system/components/justep/labelEdit/labelEdit"); var input = require("$UI/system/components/justep/input/input"); 动态创建: var parentNode = this.getElementByXid("content2"); var option = { parentNode : parentNode, xid : 'input9', class : 'x-label-edit x-label x-edit', }; [...]

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

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

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()) [...]