是否可以在<xe:valuePicker>
内声明2个daatabaseNames?
我希望从2个不同的数据库中连接2个视图,并让用户有权选择多个值。
对于第一个视图,我确实希望列出所有条目。
对于第二个视图,我想抓住以下条目:
@Unique(@DbLookup("server!!my.nsf", "vwNumeCP", hehe, 2));
,其中
var hehe = docProiect.getItemValueString("Comp");
答案 0 :(得分:2)
如果您习惯使用java,可以使用beanValuePicker
数据提供程序,并从托管bean中的两个不同数据库中提取数据。创建一个实现IValuePickerData
的Java类。有关创建托管bean数据提供程序的信息,请参阅here和here。
或者您可以使用simpleValuePicker
数据提供程序,并在valueList
属性中使用SSJS从两个来源中提取数据。
否则作为解决方法/ hack-around,namePicker
控件有一个名为namePickerAggregator
的数据提供程序,允许您定义要在选择器中显示的多个数据提供程序,包括使用来自不同数据库的数据但是没有valuePicker的提供者。如果您愿意接受名称选择器与值选择器附带的稍微不同的UI,请使用namePickerAggregator和两个dominoViewValuePicker数据提供程序。像这样:
<xe:namePicker id="myPicker" for="inputText1">
<xe:this.dataProvider>
<xe:namePickerAggregator>
<xe:this.dataProviders>
<xe:dominoViewNamePicker databaseName="database1.nsf" viewName="AllNames" labelColumn="Name" label="Database1"></xe:dominoViewNamePicker>
<xe:dominoViewNamePicker databaseName="database2.nsf" viewName="AllNames" labelColumn="Name" label="Database2"></xe:dominoViewNamePicker>
</xe:this.dataProviders>
</xe:namePickerAggregator>
</xe:this.dataProvider>
</xe:namePicker>
答案 1 :(得分:0)
beanValuePicker的替代方法是mapPicker和listPicker类,我为http://openntf.org/XSnippets.nsf/snippet.xsp?id=mappicker-dataprovider-for-vaue-picker添加了XSnippets。这允许您将Java List,Set或Map作为源传递。我还做了一系列关于它的博客文章http://www.intec.co.uk/tag/selections-tutorial/
Java类已作为本机dataProviders合并到OpenNTF Domino API中。