2014-06-13 1 views
0

내 XPages에서 사람 및 그룹을 쉽게 선택할 수 있도록 이름 선택 도구를 사용하고 있습니다. 내 코드는 다음과 같습니다.Dojo 이름 선택기 - 성별 및 그룹 별 사람들

"peopleAndGroups"를 nameList 속성으로 사용하면 모든 이름이 이름으로 나열됩니다. 하지만 나는 그들을 성으로 원해. 그래서 "peopleAsLastName"을 사용하면 적어도 원하는대로 그룹을 얻습니다.

그럼 모든 사람의 목록을 성 및 모든 그룹으로 가져 오려면 어떻게해야합니까? 또는이 문제를 어떻게 해결할 수 있습니까? 어떤 아이디어?

답변

1

원하는 동작으로 사용자 고유의 이름 선택기 빈을 만들 수 있습니다.

INamePickerData 인터페이스를 구현하는 Java 클래스를 만들어야합니다. 빈이라고 부르지 만 이 아니라이 faces-config.xml에 등록해야합니다. 중요한 방법은 사용자 지정 이름 선택기 데이터를 반환하는 readEntries() 메서드입니다. 여기에 간단한 예입니다 :

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); 
} 

그런 다음 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> 

여기에 an OpenNTF XSnippet with a more complete example of a name picke bean이 있습니다.

+0

감사합니다. –

0

Domino 디렉토리에 해당 데이터를 제공하는보기가 있음에도 불구하고 옵션 인 것처럼 보이지 않습니다. Picker라는 이름이 $ VIM ...보기를 사용하고있는 것 같습니다.

내가 볼 수있는 유일한 방법은 namePickerAggregator dataProvider를 사용하고 사용자가성에 의해 사람과 그룹으로 전환하도록 허용하는 것입니다. (많은 메소드와 내부 클래스가 보호되기 때문에 이름 선택기 또는 값 선택기 용 dataProvider를 확장하는 것은 쉽지 않습니다.)

OpenNTF의 확장 라이브러리 프로젝트에 기능 요청으로 추가 할 가치가 있습니다. OpenNTF Domino API에 문제로 추가했습니다. 이미 이름 선택기가 확장되었으므로 여기에 추가해 보겠습니다.