一个关键字下拉列表给用户提供了一个下拉清单,而且用户仅能选择最多一个条目。这个元素其实是由一个文本域、一个按钮和一个选择列表组成的,单击下拉按钮可以看到清单中所有可选的条目,而选中的条目将会在文本域中进行显示。
关键字下拉列表一直是较常见的页面元素,它的可选范围可以通过字段所对应的类型来个性化。当下拉列表框的条目达到一定数量时,下拉列表元素会自动转换为弹出式的输入帮助对话框。
下拉列表包含以下属性。
●activateAccessKey:设置是否允许快捷键(使用“Alt”键与首字母触发默认事件)。
●contextMenuBehaviour:设置上下文菜单行为,默认有“继承”“允许”和“禁止”3种类型。
●contextMenuId:设置上下文菜单的唯一标识。
●displayAsText:控制是否以文本形式显示,如设置为“true”,则在视图中的显示效果与“TextView”一样。
●enabled:控制元素是否可用。
●labelFor:用于设置元素对应的显示标签。
●readOnly:控制元素是否只读。
●selectedKey:绑定控件操作的上下文特性。“selectedKey”为值选择后赋值变量。对于静态下拉框来讲,下拉框的选择范围可以通过在数据字典中建立简单类型进行指定,此时上下文特性的类型需要选择该简单类型。
●state:控制元素的显示状态,默认有“normal”和“required”两种状态。在选择“required”后,元素会出现一个红色星号进行提醒,但逻辑控制仍需要编写相关代码。
●suggestedValue:控制是否有推荐值。
●textDirection:控制下拉列表显示文本的排列顺序,默认有3个选项:继承自父元素、从左往右和从右往左。
●tooltip:控制提示消息的显示文本。
●visible:控制元素是否可见。
●width:控制元素的显示宽度。
●onSelect事件:当用户选择某一确定值时,会触发该事件。
开发实例:
1)打开任一视图(如果需要创建新的工程或视图,请参考之前章节步骤),右击“Out⁃line”元素清单中的“RootElement”根结点,选择插入子对象,选择关键字下拉列表类型,输入ID名称,单击“OK”按钮,如图4-45所示。
图4-45 选择元素类型
2)切换到视图的上下文页签中,创建类型为“string”的特性“dept”,如图4-46所示。
3)选中关键字下拉列表,将“selectedKey”所选关键字属性绑定为上下文中的“dept”,如图4-47所示。
图4-46 创建特性
图4-47 属性修改
4)添加一个“Label”标签,将属性中的“text”修改为“部门”。保存所有修改,并编译、运行,运行效果如图4-48所示。
5)由于当前绑定的上下文是一个字符串类型,因此并不能实现多个条目的效果。下面创建一个简单类型进行条目填充。在工程目录中(窗口的下方)找到“Ditionaries”→“Local Dictionary”→“Data Types”,右击“Simple Types”,选择“Create Simple Type”,如图4-49所示。
图4-48 运行效果
图4-49 创建简单类型
6)根据需求输入简单类型的名称和包名,其中简单类型的包名也可直接选择现有的包,单击“Finish”按钮,如图4-50所示。
图4-50 输入简单类型信息
7)创建完成后,即可对创建的简单类型进行详细的配置。上方是一般信息定义,主要关注类型的定义;下方是对于长度常量的定义;最下方还有其他3个页签,其中“Enumera⁃tion”是定义集合中的所有条目,如图4-51所示。
图4-51 简单类型的定义页面(www.daowen.com)
8)切换到“Enumeration”页签,单击“New”按钮,定义值范围,如图4-52所示。
图4-52 输入信息
9)依次输入多个部门,单击“完成”按钮并保存所有修改,如图4-53所示。
图4-53 完成后的效果
10)回到视图的上下文页签中,选择“dept”特性,并修改它的类型,如图4-54所示。注意,修改类型时如果单击下拉列表框只能看到一些基本类型,需要单击右侧的“…”按钮。
11)在弹出的对话框中找到之前创建的包以其对应的“dept”,选中后单击“OK”按钮,如图4-55所示。
图4-54 修改类型
图4-55 选择对应类型
12)保存所有修改,并重新编译、运行之后,就能正确地使用关键字下拉列表了,如图4-56所示。
13)细心的读者会发现,下拉列表的宽度自动进行了调整,它会根据所绑定类型中的文本长度自动进行调整,如图4-57所示。可以通过修改下拉列表的“width”属性来固定修改元素的宽度。通常在页面布局时并不建议直接将元素宽度设置为固定值,设定百分比的形式会让页面布局变得灵活。
14)保存所有修改,并重新编译、运行之后,就能看到下拉列表最终的运行效果,如图4-58所示。
图4-56 运行效果
图4-57 “width”属性
图4-58 运行效果
15)由于下拉列表中的条目与元素所绑定的简单类型中的“Enumeration”对应,因此再次修改“dept”,添加一行空值,如图4-59所示。
图4-59 修改值
16)保存所有修改,并重新编译、运行之后,选择范围中多出了空值选择,可以通过空值来重置下拉输入,如图4-60所示。
17)在下拉列表的默认事件中创建一个动作,如图4-61所示。
图4-60 运行效果
图4-61 创建对应事件
18)添加打印代码,即在选择条目时将选中后的上下文的值打印在页面上,如图4-62所示。
wdComponentAPI.getMessageManager().reportSuccess(wdContext.currentContextElement().getDept);
图4-62 添加代码
19)保存所有修改,并重新编译、运行之后,选择任意一个条目(见图4-63),页面会打印出关键字(见图4-64),而不是关键字对应的描述。
图4-63 运行效果
图4-64 选择后的效果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。