|
锁定老贴子 主题:Dorado学习笔记(1)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2006-12-01 关键字: Dorado
ListDropDown,DatasetDropDown,DynamicDropDown用法浅谈:
笔者最近在初学Dorado(展现中间件)的过程中,暂时小结了以下内容供分享: ListDropDown,DatasetDropDown,DynamicDropDown都是用来以下拉框的方式在页面显示数据的Dorado组件。 他们的共同特点是:都是不可见组件。不可见组件需要添加到可见组件(如Table)上才能看的到。 不同点是:ListDropDown完成的功能是静态的显示,DatasetDropDown完成的功能是把记录集中的数据”一次性”的动态加载到该组建, DynamicDropDown是当用户点击时才去动态的加载记录集中的数据,并且该组件只和Module内的Dataset绑定,View里的Dataset不能和其绑定。 ListDropDown: 先来看ListDropDown,在此用它来显示性别字段。 在View--->Controls上右键新建ListDropDown,如图1: 将该组件命名为dropdownSex,把再将焦点放在dropdownSex上,点 再把Item1的label和value属性分别设置为”男”和”true”.Item2的label和value属性分别设置为”女”和”false”. 把dropdownSex组件的mapValue属性设置为True,意思是让”男””女”建立和表格的显示关系。 展开dataset--->Fields,在Sex字段上修改属性dropDown为dropdownSex. 如图2:
浏览对应的Jsp页面如图3:
结果如图4:
注意:在设置或修改一些基本不变的数据形式时,最好在Dataset中修改,不要在DataTable中修改,因为多个DataTable可以引用同一个Dataset.动一处(Dataset)则动全身(多个DataTable)。 DatasetDropDown: 在看DatasetDropDown之前,我们需要把部门编号先显示为汉字的形式,而非编号形式.故需要建立表连接。 焦点停在ModuleEmp中的DatasetEmp上点
要动态一次性的取到”部门名称”,需要建立部门表的Dataset,此例中为datasetDept. 再新建一个DatasetDropDown,命名为dropdownDeptName.如图7:
dropdownDeptName的dataset属性应该和dataSetDept绑定。 因为dropdownDeptName是不可见组件,需要和可见组件(此例中为DataTable)绑定。故要将tableEmp中DEPT_NAME字段的dropDown设置为dropdownDeptName.如图8:
浏览页面看到的结果如图9:
部门表的所有字段都显示了出来,显然这不是我们想要的表现形式, 此时可以通过修改dropdownDeptName的visibleFields属性来设置要显示的字段,在此显示一个”部门名称”字段就行,设置visibleFieds属性为DEPT_NAME(该名称必须和对应表里的字段名一致)即可。如图10:
说明: DatasetDropDown的visibleFieds属性可以设置为多个字段,字段名用英文状态下的逗号隔开。 再浏览页面,好了!只有”部门名称”在下拉框中被显示出来,选择一个值看一下,发现原来的值不能被修改,这就引出了值的读写问题。 要把从datasetDept中读到的值写到datasetEmp中,需要设置dropdownDeptName的readFields,writeFields属性分别为datasetDept,datasetEmp中的DEPT_NAME和DEPT_NAME.(此处两个字段名相同) 这样就可以通过DatasetDropDown修改值了. 因为表里字段的局限性,为了方便说明DynamicDropDown用法期间,笔者先把工程里的DatasetDropDown删了,改为DynamicDropDown来做。用DatasetDropDown做的XML文件已有备份,需要时可以直接覆盖用DynamicDropDown做的例子. 新建一个DynamicDropDown如图11:
命名为dropdownDyDept.其目录下包含一个Dataset,因为属性sourceDataset和sourceModule中需要指定Module中的Dataset,故先在ModuleEmp中新建一个datasetDeptSelect后,再指定sourceDataset属性到datasetDeptSelect,这时sourceModule属性也被自动指定,代表着Module的路径.如图12:
焦点停在dropdownDyDept下的Dataset上,点 因为所有的dropdown都是不可见组件,需要把他们绑定到具体的可见组件上才能显示.现在将dropdownDyDept绑定到DEPT_NAME.如图13:
<span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; m 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2006-12-05
解释的很透彻!补充一点dorpdown还可以做自动的map
|
|
| 返回顶楼 | |
|
时间:2006-12-05
呵呵!
|
|
| 返回顶楼 | |
|
时间:2006-12-05
是的!你可以把dropdown下的内容定义为一个"Tree"或者JSP页面都可以的.这就牵涉到了CustomDropdown.
初学Dorado,希望我们能够共同讨论,共同学习,共同进步. |
|
| 返回顶楼 | |
|
时间:2006-12-05
图片怎么都看不见啊?
|
|
| 返回顶楼 | |
|
时间:2006-12-05
我现在把Word格式的传上来大家一同分享.和我的"示例源码"在一个文件夹下. |
|
| 返回顶楼 | |
|
时间:2006-12-06
觉得这个中间件也不是很好用.
|
|
| 返回顶楼 | |
|
时间:2006-12-06
呵呵!不好用?我觉得还行,Dorado简化了大部分jsp也面的开发时间,而且高效.
它的底层是用Ajax来实现的,这样客户端和服务器端的请求响应变成了异步的,减少了页面刷新次数,这不就节省了系统开销了吗? |
|
| 返回顶楼 | |
|
时间:2007-02-14
不错。。支持一下 我们正在用它在做项目!
|
|
| 返回顶楼 | |
|
时间:2007-02-14
这个组件是很好,但是不在开源组件之列,自己业余学习一下还是很有帮助的;可在项目中应用的话,版权就是个问题了!
自己感觉,研究一些开源组件会更有帮助! |
|
| 返回顶楼 | |




(图1)
(图2)
(图3)
(图4)
(图5)
(图6)
(图7)
(图8)
(图9)
(图10)
(图11)
(图12)
(图13) 


