====== 下拉框 ====== 下拉框的XML标签为Combo,其实现类为XComboCtrl,下拉框包含若干选项,每个选项可绑定一个值,数据交换宏为DX_Combo(交换变量类型为整型,对应当前选项绑定的整数值)或DX_ComboStr(交换变量为文本字符串,对应当前选项的显示文本)或DX_Combo_Default(与DX_Combo类似,区别是如果用户没有选择任何选项,会按照默认值交换到变量中),它支持若干扩展:过滤扩展,选项配置文件扩展,单位扩展。下拉框的下拉项可以与Tab控件或Stack控件的子控件项绑定对应,即Tab控件或Stack控件会根据下拉框的当前选项切换到对应的子控件上。一般Tab控件(或Stack控件)在加载时会把所有的子控件构建出来,在某些情况下,由于子控件所包含的内容较多,导致对话框加载较慢,为了解决这个问题,可以为下拉框的选项设定ref_url属性以指定和它关联的子控件的配置文件,这样子控件的构建只有在切换到下拉框对应的选项时才实时构建,有效提高第一次加载对话框的速度。 ===== 控件属性关键字 ===== ==== name ==== 控件名,其值类型为字符串,控件名只能以字母开头,可包含数字、下划线、点符号。参考示例:name="value.combo"。 ==== cid ==== 关联命令标识符,其值类型为字符串,仅在菜单栏、工具条或功能导航栏中使用,用于与标识符为给定值的命令关联绑定,点击按钮的操作将触发关联命令,如果当前文档不存在指定标识符的命令,则按钮不可用。关联命令一般用于显示或修改应用文档的整数型选项状态值,每个选项都以文本显示在下拉框中。参考示例:cid="SetCurrentResult"。 ==== enable ==== 设置控件的初始状态是否可交互,其值类型为布尔型(true或者false),如设置为false,在该控件会变灰并且不可交互,用户可调用ICommandWindow的setControlEnable接口修改该属性。参考示例:enable="true"。 ==== width ==== 控件的宽度,其值类型整型, 单位为像素。参考示例:width="30"。 ==== height ==== 控件的高度,其值类型整型, 单位为像素。参考示例:height="30"。 ==== label ==== 仅当在表单布局中添加下拉框时使用,用于指定该控件所对应的标签的显示文本。参考示例:label="显示文本"。 ==== connect ==== 动态事件信号的映射处理,下拉框支持的触发信号包括currentIndexChanged(当下拉框的当前选项发生改变时触发)、activated(当下拉框选项被激活时)。参考示例:connect="currentIndexChanged,test.stack:setCurrentWidget"。 ==== value ==== 将下拉框下拉选项中值为给定值的选项设为当前选项,如果。参考示例:value="50001"。 ==== filterable ==== 设置下拉框是否可过滤,其值类型为布尔型(true或false),如果设置其支持过滤,下拉框将根据已输入的字符串匹配下拉项供用户选择,默认不可过滤。参考示例:filterable="true"。 ==== unit ==== 设置单位下拉框的单位类型,当下拉框有该属性时,下拉框自动载入指定单位类型的所有单位,单位类型字符串可参考[[reference::unit|单位系统]]。参考示例:unit="Length"。 ==== ref_url ==== 指向参考的配置xml文件路径,下拉框的选项配置通过解析xml文件获取(可参考下文下拉框选项配置文件示例章节)。该路径为相对路径,其参考路径为项目资源目录下的uisetting文件夹,特别的,如果要参考全局资源目录下的文件,该路径应以"~"开头,"~"表示全局资源目录下的uisetting子目录。参考示例:ref_url="material/types.xml"或"~/material/types.xml"。 ===== 下拉框选项属性 ===== ==== value ==== 给下拉框选项绑定值,其值类型整型, 单位为像素。参考示例:value="50001"。 ==== text ==== 用于设置下拉框选项的显示字符串,其值类型为字符串。参考示例:text="hello"。 ==== link ==== 设置下拉框选项的关联的控件名,该控件一般为Tab控件或者Stack控件的子控件。参考示例:link="ctrl1"。 ==== ref_url ==== 设置下拉框选项的关联控件的配置XML文件路径,该路径为相对路径,其参考路径为项目资源目录下的uisetting文件夹。该选项仅当下拉框定义了connect属性(其中目标控件为Tab或者Stack控件)且选项定义了link属性时有效。特别的,如果要参考全局资源目录下的文件,该路径应以"~"开头,"~"表示全局资源目录下的uisetting子目录。参考示例:ref_url="material/types.xml"或"~/material/types.xml"。 ===== 配置示例 ===== ===== 相关API ===== * [[class:ui:icommandwindow#setcontrolenable|setControlEnable]] * [[class:ui:icommandwindow#setcontrolvisible|setControlVisible]] * [[class:ui:icommandwindow#addcombooption|addComboOption]] * [[class:ui:icommandwindow#addcombooption|addComboOption]] * [[class:ui:icommandwindow#setcomboint|setComboInt]] * [[class:ui:icommandwindow#setcombostring|setComboString]] * [[class:ui:icommandwindow#clearcombo|clearCombo]] * [[class:ui:icommandwindow#getcomboindex|getComboIndex]] * [[class:ui:icommandwindow#getcomboint|getComboInt]] * [[class:ui:icommandwindow#getcombotext|getComboText]] * [[class:ui:icommandwindow#getcombostring|getComboString]] * [[class:ui:icommandwindow#exchangeeditdatawithunitcombo|exchangeEditDataWithUnitCombo]] * [[class:ui:icommandwindow#exchangecombodata|exchangeComboData]] * [[class:ui:icommandwindow#initcomboitems|initComboItems]]