Dorado 7 : 17.3.2.1 修改视图并添加控件

在上一节中开发了学历下拉框,我们发现学历下拉框的数据来源是静态配置的,假如我们所需要的下拉框中数据需要从数据库获取,那么该如何解决呢?那本节就主要解决这个问题,我们增加一个部门下拉框,数据来源是数据库中的sl_dept表。

 

步骤1:新建并配置DataType

由于需要显示部门信息,因此需要新建部门DataType

在【ViewConfig】节点下的【Model】节点下添加一个DataType,设定DataType的属性如下:

属性
说明
nameSlDeptDataType的名称
defaultDisplayPropertydeptName默认的显示属性

info

当系统需要将一个属于此类型的数据实体转换成用于显示的文本时(即相当于调用dorado.Entity#toText方法时), 如果此时数据类型中定义了此值,那么系统将直接使用此值所代表的属性的属性值作为整个数据实体的显示文本。

以本例来说,SlDept类型中有deptId,deptName等属性,如果我们定义了SlDept类型的defaultDisplayProperty=deptName, 那么系统会将直接用deptName属性的值作为其隶属的数据实体的显示文本。

 

设定此DataType的parent属性为models目录中Common.model.xml中配置的SlDept,使之继承公共DataType:

在当前DataType下新增2个PropertyDef,propertyDef1~propertyDef2,分别设置propertyDef的属性如下:

PropertyDef
name
label
propertyDef1deptId部门编号
propertyDef2deptName部门名称

 

步骤2:修改SlEmployee

在SlEmployee这个DataType下新增1个PropertyDef设置propertyDef的属性如下:

属性说明
nameslDept属性名
dataTypeSlDept数据类型
label部门属性的标签,即用于显示的属性名

info

slDept是SlEmployee这个实体映射类的属性,在前一节的开发中并没有显示部门字段,本节开发部门下拉框则需要显示部门字段。

注意:在dataType属性中设置的是单个实体并不是一个集合。

 

步骤3:新建并配置DataSet

在【ViewConfig】节点下的【View】节点下添加一个DataSet控件,设定DataSet的属性如下:

属性
说明
iddatasetDept控件的Id
dataType[SlDept]DataSet的数据类型
dataProviderdeptService#getAll由deptService这个bean中的getAll方法为DataSet提供数据加载服务

 

步骤4:新增并配置DataSetDropDown控件

从名称上来看DatasetDropDown这个下拉框的数据来源是从DataSet获得,所以接下来我们新建下拉框后需要与DataSet进行绑定。

在【ViewConfig】节点下的【View】节点下添加一个DataSetDropDown,设定DataSetDropDown的属性如下:

属性
说明
iddatasetdropdownDept控件的Id
dataSetdatasetDept
绑定的数据集

如下图所示:

 

步骤4:修改autoformEmployee

现在我们需要在表单中加入部门字段,以便显示部门字段并绑定部门下拉框。

展开【autoformEmployee】控件,新增一个AutoForm Element,设置其属性如下:

属性说明
nameslDept表单元素的名称
triggerdatasetdropdownDept关联的编辑框触发器
editablefalse是否允许用在相应的编辑框中进行文本输入

到目前为止,View部分设置完毕,接下来我们准备后台服务。

Attachments:

17.3-4.png (image/png)
17.3-5.png (image/png)
17.3-6.png (image/png)