Dorado 5 : 10.使用下拉框 (T1)


作为辅助录入使用的下拉框(Dropdown),在dorado中属于页面不可见控件,需要和文本编辑框进行绑定使用。dorado不仅提供了四种基本下拉框,还提供了一种可以通过扩展方式实现定制的下拉框。

列表下拉框

数据集下拉框

分页过滤下拉框

日期下拉框

树状下拉框




下拉框中的常用属性

在使用不同的下拉框时,配合设置不同的属性值,可以满足多种应用场景。

  • autoDropDown

该属性设置是否需要自动弹出下拉框。值为true时,点击文本框的内容部分,则下拉框自动弹出;值为false时,必须点击文本框内部右边的具有三角箭头图标的按钮弹出下拉框。默认值为false。属性应用范围是所有下拉框。

  • fixed

该属性设置在页面展现中,绑定下拉框的文本框是否可编辑。值为true时,只能通过下拉框选择数据;值为false时,可以在该文本框中输入其他新数据。默认值为false。属性应用范围是所有下拉框。

  • startWithEmptyRecord

该属性设置是否需要添加1条空记录在下拉框的下拉项中。值为true时,空记录添加在下拉项中第1条,显示值为空,数据值为NULL;值为false时,则不添加。默认值为false。属性应用范围是DatasetDropDown、DynamicDropDown。

小测验

1.关于ListDropDown,下面说法错误的是()【单选】

A)ListDropDown中的下拉项只能通过手工创建方式实现。
B)ListDropDown中的下拉选项可以通过服务器端Java编程方式动态实现。
C)ListDropDown中的下拉项创建数量并无限制。
D)mapValue属性并非只有ListDropDown才具有。
2.关于DatasetDropDown,下面说法正确的是()【单选】

A)与ListDropDown一样,DatasetDropDown也可以通过手工方式创建下拉项。
B)DatasetDropDown的下拉项既可以手工新建,也可以通过绑定Dataset数据集对象被自动创建。
C)DatasetDropDown的下拉项只能通过绑定Dataset数据集对象被自动创建。
D)mapValue并不是DatasetDropDown的属性。
3.关于DynamicDropDown的说法,下面正确的是()【多选】

A)与DatasetDropDown一样,DynamicDropDown的下拉项也是由Dataset提供并自动生成。
B)mapValue也是DynamicDropDown所具有的属性。
C)DynamicDropDown的下拉项实际上是引用一个JSP页面实现的。
D)DynamicDropDown中的Dataset必须引用自Module中的Dataset数据集对象。
4.有关readFields和writeFields属性,下面说法正确的是()【多选】

A)dorado中所有的下拉框都有 readFields和writeFields属性。
B)readFields属性的作用是从下绑定拉框的Dataset中获取选中下拉项所绑定的Record对象中指定Field的值。
C)writeFields属性的作用是将设置了readFields属性值指定列中获取的下拉项的值写入下挂该下拉框的Dataset的当前记录中。
D)readFields和writeFields中设置的属性值可以是多个列,通过","分隔。

小结

下拉框作为辅助录入控件,在web项目中应用范围十分广泛。dorado中提供了多种下拉框满足不同的业务场景。本章首先通过将true/false映射成男/女的例子简单介绍了ListDropDown的用法以及应用场景,然后又介绍了通过绑定Dataset数据集可以自动生成下拉项的DatasetDropDown,最后在讲解可以实现分页过滤功能的DynamicDropDown下拉框时,特别讲解了readFields属性和writeFields属性的原理。
除本章中涉及的几种下拉框之外,dorado还提供了用户自主扩展功能的下拉框,即CustomDropDown。在本章开头中出现的树型下拉框即属于CustomDropDown。与DynamicDropDown下拉框一样,它也是通过引入一个JSP页面实现,可以满足不同复杂场景下的应用,在后面的章节中我们会继续讲到。