2012-05-25 13 views
5

Moje XPage ma źródło danych widoku ze wzorem wyszukiwania ("Wyniki wyszukiwania w widoku") zbudowane na podstawie parametrów URL.Liczba wpisów w widoku XPages

Wyniki wyszukiwania są wyświetlane w kontrolce powtarzania znajdującej się w panelu. Chcę ukryć ten panel, jeśli nie ma żadnych wyników wyszukiwania i zamiast tego wyświetla się odpowiedni komunikat.

Panel jest widoczne na podstawie następującego kodu:

var vec:NotesViewEntryCollection = view1.getAllEntries(); 
vec.getCount() != 0; 

Jednak wydaje się, że getAllEntries zwraca wszystkie wpisy w widoku przed filtrowanie odbywa. Pomoc dla AllEntries mówi: "Jeśli widok jest filtrowany przez FTSearch, ta właściwość zwraca wpisy w przefiltrowanym widoku."

Czy źle to zrozumiałem? Czy istnieje sposób, aby uzyskać liczbę wpisów PO zakończeniu filtrowania?

+1

Dlaczego nie używać indeksu powtarzania do liczenia wpisów. – Ramkumar

Odpowiedz

15

Podczas uzyskiwania dostępu do źródła danych DominoView przez SSJS nie uzyskujesz dominoView, ale powiązany z nim NotesView. Dlatego dostępne właściwości i metody dotyczą klasy NotesView. Jednak wyszukiwanie jest przeprowadzane na interfejsie źródła danych dominoView, a nie w powiązanym z nim obiekcie NotesView.

Zamiast korzystać ze źródła danych, uzyskaj formant, który go używa (np. Powtórz, viewPanel itp.) I użyj metody getRowCount(). To da ci odpowiednią sumę. Na przykład.

getComponent("repeat1").getRowCount() 
+0

To posortowało to. Dzięki, Paul. –

+0

To jest również coś, co chciałbym robić. Ale to nie działa, jeśli do mojego powtórzenia dołączam pagera; Po prostu liczę liczbę elementów na bieżącej stronie, a nie liczbę wszystkich odfiltrowanych elementów widoku. Czy jest jakiś sposób, aby to zrobić w tym przypadku ...? –

0

Korzystanie właściwość Zobacz napisami ....

próbka: "Wyświetlanie 30 z 30220"

<xp:this.caption><![CDATA[#{javascript:return "Displaying " + getComponent("viewPanel1").getRowCount() + " of " + view1.getAllEntries().getCount();}]]></xp:this.caption> 

UWAGA: Ten wiersz zlicza sklasyfikować jako dobrze.

Powiązane problemy