Greg
Greg

Reputation: 714

Can a NamePicker Control search both last and first names?

Domino Version: 9.0.1
ExtLib Version: 9.0.1v00_04_20140226-1506

For many reasons, I like using the NamePicker control to allow the users to select people for field input. But I have stumbled onto a problem that I cannot immediately solve.

The NamePicker control defaults to allow only a certain number of names to be shown at once. As far as I can tell, this is done to prevent performance issues. My issue is this: if we have a large corporate phone book, and that phone book contains 600 people with the last name Smith, then only a fraction of those people will be selectable when we perform a search for that last name. As far as I can tell, there is no way to search for the name "Smith, William" which should be one of the last names on the list.

I know that you can change this maximum by adding the Dojo Property "maxRowCount" and selecting the number of rows you want to have displayed, but I do not see this as a good solution. First off, my tests show that this comes with a performance hit if too many rows are shown at one time, and I also do not want the users to have to go through all of the Smith's just to find one name. The main issue is that I see no way to select any name that comes after the 'maxRowCount' + 1.

My questions are these:
1. Is there a way to tell the NamePicker ExtLib control that it should search both last and first names?
2. Is there a way to activate paging in the NamePicker ExtLib control that I just failed to see as of yet?

My only other option is to build my own name picker which I would rather not do.

Upvotes: 3

Views: 227

Answers (1)

Paul Stephen Withers
Paul Stephen Withers

Reputation: 15729

DominoNABNamePickerData extends AbstractDominoViewPickerData. The readEntries() method of that does check for the searchType property, which is available on the DominoViewValuePickerData dataProvider. The options are defined in AbsgtractDominoViewPickerData:

public static final String SEARCH_STARTFROM = "startFrom"; // default //$NON-NLS-1$
public static final String SEARCH_MATCH = "match"; //$NON-NLS-1$
public static final String SEARCH_FTSEARCH  = "ftSearch"; //$NON-NLS-1$

It looks like it's just not exposed for the Name Picker. I've not tested, but it may work if it's added to the xsp-config of the Name Picker Data Provider, and subsequently serialized.

Upvotes: 1

Related Questions