论坛首页 AJAX版 UI

Dorado学习笔记(1)

浏览 7633 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2006-12-01 关键字: Dorado
ListDropDownDatasetDropDownDynamicDropDown用法浅谈:

笔者最近在初学Dorado(展现中间件)的过程中,暂时小结了以下内容供分享:

ListDropDownDatasetDropDownDynamicDropDown都是用来以下拉框的方式在页面显示数据的Dorado组件。

他们的共同特点是:都是不可见组件。不可见组件需要添加到可见组件(Table)上才能看的到。

不同点是:ListDropDown完成的功能是静态的显示,DatasetDropDown完成的功能是把记录集中的数据一次性的动态加载到该组建, DynamicDropDown是当用户点击时才去动态的加载记录集中的数据,并且该组件只和Module内的Dataset绑定,View里的Dataset不能和其绑定。

ListDropDown:

先来看ListDropDown,在此用它来显示性别字段。

View--->Controls上右键新建ListDropDown,如图1:(图1)

将该组件命名为dropdownSex,把再将焦点放在dropdownSex, 来添加两个Item1Item2,

再把Item1labelvalue属性分别设置为”true”.Item2labelvalue属性分别设置为”false”. dropdownSex组件的mapValue属性设置为True,意思是让””建立和表格的显示关系。

展开dataset--->Fields,Sex字段上修改属性dropDowndropdownSex.

如图2

(图2)

浏览对应的Jsp页面如图3

(图3)

结果如图4

(图4) 

注意在设置或修改一些基本不变的数据形式时,最好在Dataset中修改,不要在DataTable中修改,因为多个DataTable可以引用同一个Dataset.动一处(Dataset)则动全身(多个DataTable)

DatasetDropDown:

在看DatasetDropDown之前,我们需要把部门编号先显示为汉字的形式,而非编号形式.故需要建立表连接。

焦点停在ModuleEmp中的DatasetEmp上点来新建表连接。在弹出的对话框AutoSqlDataset Wizard ,Eidt Join Table 中选择要连接的表名,如图5

(图5)

Fields from Source Table Fields from Join Table中选择相连的主外键DEPT_ID=DEPT_ID,

如图6

(图6)

”OK”后将焦点停在DEPT表上,并将该表中的DEPT_NAME添加到右边的表格中。”OK”后表连接建立成功! 

动态一次性的取到部门名称”,需要建立部门表的Dataset,此例中为datasetDept.

再新建一个DatasetDropDown,命名为dropdownDeptName.如图7

(图7) 

dropdownDeptNamedataset属性应该和dataSetDept绑定。

因为dropdownDeptName是不可见组件,需要和可见组件(此例中为DataTable)绑定。故要将tableEmpDEPT_NAME字段的dropDown设置为dropdownDeptName.如图8

(图8)

浏览页面看到的结果如图9

(图9) 

部门表的所有字段都显示了出来,显然这不是我们想要的表现形式,

此时可以通过修改dropdownDeptNamevisibleFields属性来设置要显示的字段,在此显示一个部门名称字段就行,设置visibleFieds属性为DEPT_NAME(该名称必须和对应表里的字段名一致)即可。如图10

(图10) 

说明:

DatasetDropDownvisibleFieds属性可以设置为多个字段,字段名用英文状态下的逗号隔开。

再浏览页面,好了!只有部门名称在下拉框中被显示出来,选择一个值看一下,发现原来的值不能被修改,这就引出了值的读写问题。

要把从datasetDept中读到的值写到datasetEmp,需要设置dropdownDeptNamereadFields,writeFields属性分别为datasetDeptdatasetEmp中的DEPT_NAMEDEPT_NAME.(此处两个字段名相同)

这样就可以通过DatasetDropDown修改值了.

 DynamicDropDown: 

因为表里字段的局限性,为了方便说明DynamicDropDown用法期间,笔者先把工程里的DatasetDropDown删了,改为DynamicDropDown来做。用DatasetDropDown做的XML文件已有备份,需要时可以直接覆盖用DynamicDropDown做的例子. 

新建一个DynamicDropDown如图11

(图11) 

命名为dropdownDyDept.其目录下包含一个Dataset,因为属性sourceDatasetsourceModule中需要指定Module中的Dataset,故先在ModuleEmp中新建一个datasetDeptSelect,再指定sourceDataset属性到datasetDeptSelect,这时sourceModule属性也被自动指定,代表着Module的路径.如图12

(图12) 

 焦点停在dropdownDyDept下的Dataset, 自动生成Fields里的字段。

因为所有的dropdown都是不可见组件,需要把他们绑定到具体的可见组件上才能显示.现在将dropdownDyDept绑定到DEPT_NAME.如图13

(图13) 

<span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; m

  • lib.rar (4.1 MB)
  • 描述: 第二篇文章RPCCommand使用示例的Jar包
  • 下载次数: 39
   
时间:2006-12-05
解释的很透彻!补充一点dorpdown还可以做自动的map
   
0 请登录后投票
时间:2006-12-05
呵呵!
   
0 请登录后投票
时间:2006-12-05
是的!你可以把dropdown下的内容定义为一个"Tree"或者JSP页面都可以的.这就牵涉到了CustomDropdown.
初学Dorado,希望我们能够共同讨论,共同学习,共同进步.
   
0 请登录后投票
时间:2006-12-05
图片怎么都看不见啊?
   
0 请登录后投票
时间:2006-12-05
看不到图片可能是我的权限不够吧,系统不允许我发图片.
我现在把Word格式的传上来大家一同分享.和我的"示例源码"在一个文件夹下.
   
0 请登录后投票
时间:2006-12-06
觉得这个中间件也不是很好用.
   
0 请登录后投票
时间:2006-12-06
呵呵!不好用?我觉得还行,Dorado简化了大部分jsp也面的开发时间,而且高效.
它的底层是用Ajax来实现的,这样客户端和服务器端的请求响应变成了异步的,减少了页面刷新次数,这不就节省了系统开销了吗?
   
0 请登录后投票
时间:2007-02-14
不错。。支持一下 我们正在用它在做项目!
   
0 请登录后投票
时间:2007-02-14
这个组件是很好,但是不在开源组件之列,自己业余学习一下还是很有帮助的;可在项目中应用的话,版权就是个问题了!
自己感觉,研究一些开源组件会更有帮助!
   
0 请登录后投票
论坛首页 AJAX版 UI

跳转论坛:
JavaEye推荐