Dojo名称选择器-按姓氏和组划分的人员 [英] Dojo Name Picker - People by last name and groups

查看:102
本文介绍了Dojo名称选择器-按姓氏和组划分的人员的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在XPages中使用名称选择器,以便于选择人员和组。这是我的代码:

 < xe:namePicker id = namePicker1 for = Receiver> 
< xe:this.dataProvider>
< xe:dominoNABNamePicker groups = true nameList = peopleAndGroups people = true>< // xe:dominoNABNamePicker>
< / xe:this.dataProvider>
< xe:this.rendered><![CDATA [#{javascript:docApplication.getItemValueString( ZwfStepNumber)== 1}]]>< // xe:this.rendered>< / xe:namePicker>

如果我将 peopleAndGroups用作nameList属性,则所有名称均按名字列出。但是我要他们的姓氏。因此,如果我至少使用 peopleAsLastName,则可以按我的意愿获得它们,但是没有组。



那么我如何获得所有姓氏和所有人员的列表团体?或者我该如何解决这个问题?有想法吗?

解决方案

您可以创建具有所需行为的自己的名称选择器bean。



您需要创建一个实现 INamePickerData 接口的Java类。尽管它被称为Bean,但您不需要 将其注册在faces-config.xml中。重要的方法是 readEntries()方法,该方法返回您的自定义名称选择器数据。这是一个简化的示例:

 公共IPickerResult readEntries(最终IPickerOptions选项){
List< IPickerEntry>条目=新的ArrayList< IPickerEntry>();

entry.add(new SimplePickerResult.Entry( CN =人员A / O =组织,人员A);
entry.add(新SimplePickerResult.Entry( CN =人员B / O =组织,人员B);
返回新的SimplePickerResult(entries,-1);
}

然后可以通过使用beanNamePicker dataProvider使用自定义名称选择器。这是一个简化的示例:

 < xe:namePicker id = namePickerBean> 
< xe:this.dataProvider>
< xe:beanNamePicker>
< xe:this.dataBean> ;<![CDATA [com.company.MyNamePicker]]>< / xe:this.dataBean>
< / xe:beanNamePicker>
< / xe:this.dataProvider>
< / xe:namePicker>

一个OpenNTF XSnippet,其中包含名称Picke bean的更完整示例。 / p>

I'm using a name picker in my XPages to allow an easy selection of people and groups. Here's my code:

<xe:namePicker id="namePicker1" for="Receiver">
<xe:this.dataProvider>
<xe:dominoNABNamePicker groups="true" nameList="peopleAndGroups" people="true"></xe:dominoNABNamePicker>
</xe:this.dataProvider>
<xe:this.rendered><![CDATA[#{javascript:docApplication.getItemValueString("ZwfStepNumber") == 1}]]></xe:this.rendered></xe:namePicker>

If I use "peopleAndGroups" as nameList property, all names are listed by first name. But I want them by last name. So if I use "peopleAsLastName" at least I get them as I want, but without groups.

So how do I get a list of all people by last name and all groups? Or how can I solve this problem? Any ideas?

解决方案

You can create your own name picker bean with the wanted behavior.

You need to create a Java class that implements the INamePickerData interface. Although it is called a bean, you do not need to register it in faces-config.xml. The important method is the readEntries() method which returns your custom name picker data. Here's a simplified example:

public IPickerResult readEntries(final IPickerOptions options) {
    List<IPickerEntry> entries = new ArrayList<IPickerEntry>();

    entries.add(new SimplePickerResult.Entry("CN=Person A/O=Org", "Person A");
    entries.add(new SimplePickerResult.Entry("CN=Person B/O=Org", "Person B");
    return new SimplePickerResult(entries, -1);
}

You can then use your custom name picker by using the beanNamePicker dataProvider. Here's a simplified example:

<xe:namePicker id="namePickerBean">
    <xe:this.dataProvider>
        <xe:beanNamePicker>
            <xe:this.dataBean><![CDATA[com.company.MyNamePicker]]></xe:this.dataBean>
        </xe:beanNamePicker>
    </xe:this.dataProvider>
</xe:namePicker>

There's an OpenNTF XSnippet with a more complete example of a name picke bean.

这篇关于Dojo名称选择器-按姓氏和组划分的人员的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆