Dorado 5 : 4.4.主从绑定1 (T22)

概述

主从绑定的概念在Dorado中是这么定义的,存在两个Dataset,有一个为主Dataset,有一个为从Dataset。当主Dataset进行变化的时候,从Dataset会根据主Dataset的变化来变化。
本示例用来展示Dataset中主从绑定,这一章节仅仅介绍主从表如何同时变化,下一章节讲介绍如何进行主从表的同时更新。本示例链接如下:

 

准备工作

新建一工程MasterDetail,并且配置好数据库,具体步骤参考3.1.2节。

开发步骤

添加Dataset

步骤1:新建一Common ViewModel,文件名为MasterDetail。
步骤2:添加一AutoSqlDataset,选择Dept表,选择Dept表的所有字段,AutoSqlDataset的属性设置如下:

属性

id

datasetDept

originTable

DEPT

步骤3:添加一AutoSqlDataset,选择Employee表,选择Employee表的如下字段:

AutoSqlDataset的属性设置如下:

属性

id

datasetEmployee

originTable

EMPLOYEE

步骤4:为datasetEmployee添加MatchRule,MatchRule的属性设置如下:

属性

level

1

operator

=

originField

DEPT_ID

table

EMPLOYEE

value

:DEPT_ID

步骤5:为datasetEmployee设置其MasterLink,只需要选择MasterLink即可,MasterLink位置如下:

MasterLink的属性设置如下:

属性

masterDataset

datasetDept

detailKeyParameters

DEPT_ID

masterKeyFields

DEPT_ID

detailKeyFields

DEPT_ID

 

添加DataTable

步骤1:添加一DataTable,属性设置如下:

属性

id

tableDept

dataset

datasetDept

width

100%

showHScrollBar

false

步骤2:选中tableDept,点击自动生成字段按钮。
步骤3:添加一DataTable,属性设置如下:

属性

id

tableEmployee

dataset

datasetEmployee

width

100%

showHScrollBar

false

步骤4:选中tableEmployee,点击自动生成字段按钮。
步骤5:添加一PagePiolt,属性设置如下:

属性

id

pagepilotEmployee

dataset

datasetEmployee

创建Jsp页面

生成Jsp页面以后再编辑一下布局,最后结果如下:

<%@ page contentType="text/html; charset=UTF-8" %> 
<%@ taglib uri="http://www.bstek.com/dorado" prefix="d" %> 
 <html> 
 <head> 
 <title>主从绑定1</title> 
 </head> 
 <body> 
 <d:View config="MasterDetail"> 
 <d:Layout type="border"> 
 <d:Pane position="top"> 
 <d:DataTable id="tableDept" /> 
 </d:Pane> 
 <d:Pane position="center"> 
 <d:DataTable id="tableEmployee" /> 
 </d:Pane> 
 <d:Pane position="bottom"> 
 <d:PagePilot id="pagepilotEmployee" /> 
 </d:Pane> 
 </d:Layout> 
 </d:View> 
 </body> 
 </html>

 

查看运行效果

启动服务器后,浏览效果如下:

点击上图中上面表格的不同列,会发现下面的表格中的数据在一直变化。

知识点

Dorado提供了MasterLink属性动态的为动态的SQL语句赋值的方法。在SQL语句中尚存在没有赋值的参数时,dataset会自动地检查MasterLink的设置。如果为MasterLink属性定义了属性值,dataset就会从该属性值配置中查找另一个dataset的相关参数值,并且匹配到当前dataset的参数集合中。
想深入了解,可以查看《Dorado 5用户指南 v1.1》的5.3.4.3节。