3.5.2.1.47. 标签列表
TokenList
组件提供了一种使用列表的简单方式: 以水平或垂直的方式标签名称、使用下拉列表添加标签、使用每个标签旁边的按钮进行移除。
组件 XML 名称: tokenList
下面是一个界面 XML 描述中定义 TokenList
组件的示例:
<data>
<instance id="orderDc" class="com.company.sales.entity.Order" view="order-edit">
<loader/>
<collection id="productsDc" property="products"/>
</instance>
<collection id="allProductsDc" class="com.company.sales.entity.Product" view="_minimal">
<loader id="allProductsDl">
<query><![CDATA[select e from sales_Product e order by e.name]]></query>
</loader>
</collection>
</data>
<layout>
<tokenList id="productsList" dataContainer="orderDc" property="products" inline="true" width="500px">
<lookup optionsContainer="allProductsDc"/>
</tokenList>
</layout>
在上面的示例中,嵌套的 productsDc
数据容器包含了一个订单的产品集合,同时 allProductsDc
数据容器包含了数据库中所有可用产品。id 为 productsList
的 TokenList
组件展示 productsDc
数据容器的内容,同时可以通过从 allProductsDc
中添加实例来改变集合。
tokenList
属性:
position
– 设置下拉列表的位置。这个属性的可选值包括:TOP
、BOTTOM
。默认是:TOP
。
inline
属性定义包含选中条目的列表如何显示:vertically(垂直) 或 horizontally(水平)。true
表示水平对齐,false
– 垂直对齐。 水平对齐的示例:
simple
– 设置为true
时,将隐藏选择组件同时显示 Add 按钮。点击 Add 按钮将弹出一个选择界面,界面上有实体实例列表,其类型由数据容器定义。选择界面的标识符是根据PickerField
的标准查找操作的规则来确定的。单击 Clear 按钮将删除TokenList
组件数据源中的所有元素。
clearEnabled
- 当设置为false
, Clear 按钮将隐藏。
tokenList
元素:
lookup
− 值选择组件的描述。
lookup
元素属性:
lookup
属性使TokenList
组件可以使用一个实体查找界面来选择值。
inputPrompt
- 显示在查找字段中的文本提示信息。如果没有设置,查找字段将不显示任何提示内容。
<tokenList id="linesList" dataContainer="orderItemsDс" property="items" width="320px">
<lookup optionsDatasource="allItemsDs" inputPrompt="Choose an item"/>
</tokenList>
lookupScreen
属性在lookup="true"
时设置用于选择值的界面的标识符。如果没有设置此属性,则根据com.haulmont.cuba.gui.actions.picker.LookupAction
标准操作的规则选择界面标识符。openType
属性定义查找界面的打开方式,与com.haulmont.cuba.gui.actions.picker.LookupAction
标准操作的描述相似。默认值 –THIS_TAB
。
multiselect
- 如果这个属性设置为true
,true
将传递到查找界面的参数字典的MULTI_SELECT
键。这个标志用于设置界面为多选模式。这个标志定义在WindowParams
枚举中,因此在旧版本的界面中可以通过以下方式使用:
@Override
public void init(Map<String, Object> params) {
if (WindowParams.MULTI_SELECT.getBool(getContext())) {
usersTable.setMultiSelect(true);
}
}
tokenList
监听器:
ItemClickListener
允许跟踪tokenList
列表条目上的点击操作。ValueChangeListener
可以跟踪tokenList
组件值的变化,像其它任何实现了Field
接口的组件一样。可以使用 isUserOriginated() 方法来跟踪ValueChangeEvent
的来源。
- tokenList 的属性
align - caption - captionAsHtml - captionProperty - clearEnabled - contextHelpText - contextHelpTextHtmlEnabled - css - dataContainer - datasource - description - descriptionAsHtml - editable - enable - box.expandRatio - height - icon - id - inline - position - simple - stylename - tabIndex - visible - width- tokenList 的元素
addButton - lookup- lookup 的属性
captionProperty - filterMode - inputPrompt - lookup - lookupScreen - multiselect - openType - optionsDatasource- button 的属性
caption - icon- API
addValueChangeListener - setContextHelpIconClickHandler - setItemClickListener