苍穹开发系列之三:F7已选列表的使用原创
129次浏览
编辑于2022年12月23日 11:21:55
F7已选列表的使用
一、问题描述/需求描述:
如何实现类似基础资料F7界面,选择数据自动添加到右侧的列表的功能?
开发平台的F7已选列表控件如何使用?
二、思路与方案:
1、表单界面添加F7已选列表。经测试,F7已选列表控件的父容器,布局-高级设置中“垂直方向对齐方式”必须设置为“充满(stretch)”,不然F7已选列表控件显示会出现异常。
2、通过插件获取F7已选列表控件对象,可以看到该控件的编程模型是kd.bos.list.F7SelectedList
3、查看kd.bos.list.F7SelectedList源码可以看到,该控件有3个监听事件,分别是移除、全部移除和排序,对应的监听接口是F7SelectedListRemoveListener和F7SelectedListRemoveListener,所以我们插件要实现这两个接口来处理事件。
4、实现控件接口,监听控件事件
5、监听单据体点击事件,在点击某一行的时候,填充F7已选列表项,填充已选项的方法为kd.bos.list.F7SelectedList#addItems,添加的是所有的已选项,不是每次增量添加
6、F7已选列表拖动排序,需要打开拖动排序开关,然后在sort获取排序后的列表,重新构建选中项,重新通过addItems设置
7、移除某个已选项或清空全部,两个操作都是触发同一个事件,通过参数判断是移除某个或者是清空全部。移除某个,则获取单据体选中列表,移除指定的选中行,清空全部,则清空单据体所有的选中行
推荐阅读