联系
我们

工作日 9:00-18:00

13632615190

多引用列表

多引用列表在实际项目中有很多的需求。

1、比如一个项目,可能是一个团队在负责,那么我们除了可以使用“可编辑子表”来填写团队成员之外,也可以用“多引用列表”控件来选择团队成员;

2、比如一个车辆配件,可能适用于多个车型,那么我们可以用“多引用列表”控件来实现从“车型表”中选择适用的车型;

3、保险行业,比如某个大客户(一般作为项目来维护)今年的投保意向,我们就可以用“多引用列表”控件类选择他今年的投保意向险种;

其实现实中很多这样的需求,他类似于一个多选的CheckBox列表,但是数据来源于某个其他表单,同时以子表的形式存储在数据库中,更加便于后续的统计和分析。


比如我们要显示如下图红框中这样的子表,那就是“多引用列表”控件。

image.png

多引用列表在开发平台“工具箱\常规工具”中,如下图,使用时将其选中并在表单对应位置拖动鼠标画出即可:

image.png

如下图,从工具箱拖拽绘制到表单中合适的位置,设置属性即可。

image.png

属性说明:

image.png

数据属性:

别名:必填,在Web中显示为控件前面的标签,如上面图中的“其他查勘员”;

子单据ID:必填,多引用列表也是一个子表,所以子表需要“单据ID”和“数据库表”(注意:在主表中生成一个“__{子单据ID}IDS__”字段用于存储所选择的引用记录ID列表,如__PolicyCarCaseEmpsIDS__,字段长度4000);

数据库表:必填,如上“子单据ID”说明;

数据库字段:必填,这个字段用于存储多引用列表选中的文字,如上面第1图中所示,那么此字段存储的值为“admin168;冰封;余则成;潘广玉;admin;管理员”;

最大字符数:这里指定“数据库字段”这个属性对应的字段能够存储的最大字符数(比如多引用列表引用员工,假设平均每个员工姓名3个汉字加一个分号,那么每个员工姓名实际占4个字符长度,那么如果这里设置为500,则最多可以保存500/4 = 125个员工,所以多引用列表是有一定限制的);


数据源:

数据源单据ID:必选,点击后面的按钮,选择此控件要引用的单据编号,我们这里引用员工表单(表单ID为Employee);

显示字段:点击右侧的下拉按钮选择要显示的字段,我们这里选择的是员工姓名(字段名为__Name__);

指定选择页面:如果要引用员工表单,则这里可以点击右侧的选择按钮,选择“员工”表单的查询列表,员工表单的统计报表,存储过程报表,视图等等,您一定要保证这里指定的页面选择后返回的__ID__字段的值是员工记录ID;

最多可选多少项:0表示不限制,大于0则表示此多引用列表最多可以选择的引用记录数;

初始显示条件:设置可选择的引用数据条件;

自动查询:表示选择引用数据时,点开选择页面则自动查询;

数据权限:True则表示这里只能选择您有权限的数据;


特别说明,设置了“多引用列表”的“子单据ID”和“数据库字段”后,在主表中会生成下面两个字段分别用于存储引用的记录ID和文本:

image.png

由于多引用列表是子表,所以会在数据库中生成下面的表结构:

由于是子表,所以会有__FK_PolicyCarCase_字段,其中PolicyCarCase是主表单据ID;

由于引用的是“员工”表单,所以会生成__FK_Employee_字段,其中Employee是员工表单单据ID;

其他的都是默认字段

image.png


设置完,发布即可,如果发布后发现不能正确选择引用,则对照上面检查必填项即可。