苍穹开发系列之三:F7已选列表的使用原创
金蝶云社区-dengqp
dengqp
0人赞赏了该文章 129次浏览 未经作者许可,禁止转载编辑于2022年12月23日 11:21:55

F7已选列表的使用

 

一、问题描述/需求描述:

如何实现类似基础资料F7界面,选择数据自动添加到右侧的列表的功能?

开发平台的F7已选列表控件如何使用?

 

 二、思路与方案:

1、表单界面添加F7已选列表。经测试,F7已选列表控件的父容器,布局-高级设置中“垂直方向对齐方式”必须设置为“充满(stretch)”,不然F7已选列表控件显示会出现异常。

image.png

image.png

2、通过插件获取F7已选列表控件对象,可以看到该控件的编程模型是kd.bos.list.F7SelectedList

image.png

3、查看kd.bos.list.F7SelectedList源码可以看到,该控件有3个监听事件,分别是移除、全部移除和排序,对应的监听接口是F7SelectedListRemoveListener和F7SelectedListRemoveListener,所以我们插件要实现这两个接口来处理事件。

image.png

4、实现控件接口,监听控件事件

image.png

5、监听单据体点击事件,在点击某一行的时候,填充F7已选列表项,填充已选项的方法为kd.bos.list.F7SelectedList#addItems,添加的是所有的已选项,不是每次增量添加

image.png

6、F7已选列表拖动排序,需要打开拖动排序开关,然后在sort获取排序后的列表,重新构建选中项,重新通过addItems设置

image.png

image.png

7、移除某个已选项或清空全部,两个操作都是触发同一个事件,通过参数判断是移除某个或者是清空全部。移除某个,则获取单据体选中列表,移除指定的选中行,清空全部,则清空单据体所有的选中行

image.png

 

 


赞 0