如何在移动端实现单据体全选功能原创
3人赞赏了该文章
3,042次浏览
编辑于2022年04月16日 09:45:58
关键词:移动分录、
一、需求
在移动端实现单据体全选功能
二、思路与方案
在PC端的单据体已经自带了单据体全勾选的功能,但是在移动端并没有此功能实现,因为移动端大部分的功能都要自己通过插件实现
思路:通过插件获取到单据体的数量,从而获取所需选的行,然后使用单据体控件的行选择方法实现全选
三、实现过程
新建标准的单据带单据体的移动页面即可开始实现 标识:
kdec_entrydemo
在页面添加按钮
为按钮添加监听事件
添加卡片选择标志控件
在click事件中添加实现逻辑
if (StringUtils.equals("buttonap1", key)) { // 获取单据体数据 DynamicObjectCollection collection = this.getModel().getEntryEntity("entryentity"); // 获取单据体控件数据模型 CardEntry grid = this.getView().getControl("entryentity"); // 在全选之前向前端发送指令:清除勾选行(很重要,不加会导致全选不生效) ((BillView) this.getView()).getClientProxy().invokeControlMethod("entryentity", "clearSelRows"); List<Integer> arr = new ArrayList<Integer>(); // 获取需要全选的行list for (int i = 0; i < collection.size(); i++) { arr.add(i); } // list转数组 int[] arr1 = arr.stream().mapToInt(Integer::valueOf).toArray(); // 为单据体行全选 grid.selectRows(arr1, 0); }
四、效果图
五、开发环境版本
3.0以上
六、注意事项
注意点:在全选的功能执行前要向前端发送指令清除勾选,否则前端的校验会发现页面已有勾选不会再进行勾选
七、参考资料
kdec_case-kdec_mobcommoncontro …(6.87KB)
赞 3
3人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读