【问题标题】:xpages Value picker multiple databaseNamesxpages 值选择器多个数据库名称
【发布时间】:2014-09-29 19:05:10
【问题描述】:

是否可以在 <xe:valuePicker> 中声明 2 个数据库名称?

我想连接来自 2 个不同数据库的 2 个视图,并让用户有权选择多个值。

对于第一个视图,我确实希望列出所有条目。

对于第二个视图,我想获取如下条目:

@Unique(@DbLookup("server!!my.nsf", "vwNumeCP", hehe, 2));

在哪里

var hehe = docProiect.getItemValueString("Comp");

【问题讨论】:

    标签: xpages


    【解决方案1】:

    您可以使用beanValuePicker 数据提供者,并从托管 bean 中的两个不同数据库中提取数据,如果您喜欢使用 java 的话。创建一个实现IValuePickerData 的Java 类。有关创建托管 bean 数据提供者的信息,请参阅 herehere

    或者您可以使用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>
    

    【讨论】:

    • 我需要访问视图,考虑一个组件值,例如:@Unique(@DbLookup("server!!my.nsf", "vwNumeCP", companie, 2));,其中公司是一个字段值。如果我只写视图名称,我会得到所有条目。
    【解决方案2】:

    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 类已作为本机数据提供者并入 OpenNTF Domino API。

    【讨论】:

    • 这些类已经合并到核心 ExtLib 中已有几年了。不要使用片段,它们已被标记为已弃用。
    猜你喜欢
    • 1970-01-01
    • 2020-03-09
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 2013-02-05
    • 2019-10-25
    • 2015-09-07
    • 2020-03-23
    相关资源
    最近更新 更多