xpages中的莲花笔记Dialog list
是否有任何等价物?或者,如果可能的话,xpage combobox
''接受''选择了多个值。
感谢您的时间
答案 0 :(得分:3)
使用xe:djextListTextBox
收集并显示多个值,使用xe:valuePicker
将现有列表中的值添加到ListTextBox,并选择使用button
来提示输入新值并添加它到ListTextBox。
这是xe:djextListTextBox
和xe:valuePicker
的示例:
<xe:djextListTextBox
id="djextListTextBox1"
multipleSeparator=","
multipleTrim="true"
defaultValue="abc,def"
value="#{viewScope.test}">
</xe:djextListTextBox>
<xe:valuePicker
id="valuePicker1"
for="djextListTextBox1"
pickerText="Add">
<xe:this.dataProvider>
<xe:simpleValuePicker>
<xe:this.valueList><![CDATA[#{javascript:
["abc","def","ghj","klm","nop","xyz"]
}]]></xe:this.valueList>
</xe:simpleValuePicker>
</xe:this.dataProvider>
</xe:valuePicker>
我喜欢这种方法,因为用户可以轻松添加和删除值,看起来很不错。
替代是xp:inputText
和xe:valuePicker
的组合:
<xp:inputText
id="inputText1"
multipleSeparator=","
value="#{viewScope.test}"
defaultValue="abc,def">
</xp:inputText>
<xe:valuePicker
id="valuePicker1"
for="inputText1">
<xe:this.dataProvider>
<xe:simpleValuePicker>
<xe:this.valueList><![CDATA[#{javascript:
["abc","def","ghj","klm","nop","xyz"]
}]]></xe:this.valueList>
</xe:simpleValuePicker>
</xe:this.dataProvider>
</xe:valuePicker>
用户可以添加自己的新值,因为InputText字段是可编辑的。如果允许新值并且用户知道如何在考虑多个分隔符的情况下编辑值,则此方法可能是一个很好的解决方案。
如果您希望在单独的行中包含每个值,可以使用xe:djTextarea
并将multipleSeparator设置为换行符:
<xe:djTextarea
id="djTextarea1"
multipleSeparator="#{javascript:'\n'}"
value="#{viewScope.test}"
defaultValue="#{javascript:['abc','def']}"
cols="30">
</xe:djTextarea>
<xe:valuePicker
id="valuePicker1"
for="djTextarea1">
<xe:this.dataProvider>
<xe:simpleValuePicker>
<xe:this.valueList><![CDATA[#{javascript:
["abc","def","ghj","klm","nop","xyz"]
}]]></xe:this.valueList>
</xe:simpleValuePicker>
</xe:this.dataProvider>
</xe:valuePicker>
文本框会自动增加和缩小所选值的数量。
答案 1 :(得分:0)
Extension Library中的ValuePicker控件提供了Dialog List功能,但没有提供“Allow values not in list”功能。