2016-04-21 6 views
0

In meiner Anwendung möchte ich ein Viewpanel durch eine Wiederholungskontrolle ersetzen.
Teil der Funktionalität ist jedoch ein UI-Aspekt, der es Benutzern ermöglicht, bestimmte Felder (die der Ansicht entsprechen) auszuwählen und nur die Dokumente anzuzeigen, die übereinstimmen. In der Ansicht wird ein Filter ausgeführt, mit dem Benutzer Aspekte der Ansicht auswählen können, um eine Suche zu erstellen (der Code wird in der Ansicht gesucht). Dadurch kann das Ansichtsfenster mit den Ergebnissen der Suche aktualisiert werden.Filterung/Suche auf einer Wiederholungskontrolle

Eines der Dinge, die neugierig ist, ist, dass das Viewpanel einen Wert von "# {javascript: view2}" vice einen tatsächlichen Ansichtsnamen hat.

Der Viewpanel definiert die Suchansicht und die ...

Ich mag würde in der Lage sein, die gleiche Funktionalität wie das Wiederholungssteuerung anzuwenden. Ich sehe diese Attribute nicht auf der Wiederholungskontrolle ... Irgendwelche Zeiger? Es ist eine Weile her, seit ich mit xpages gearbeitet habe ... lang genug, dass ich schon viel vergessen habe ....

TIA!

Antwort

0

this blog post lesen Ich habe eine Weile zurück, sollte es erklären, was Sie brauchen.

Das Ansichtsfenster filtert nichts, es zeigt nur Zeilen aus einer Datenquelle an, wie ein Wiederholungssteuerelement. Tatsächlich können Sie einer ViewPanel-Spalte Komponenten hinzufügen, indem Sie aus der aktuellen Zeile ziehen, indem Sie der DominoView-Datenquelle eine var-Eigenschaft hinzufügen.

Die Ansicht ist an #{javascript:view2} gebunden (was besser durch Bindung an #{view2} getan werden würde - es gibt keine Notwendigkeit, SSJS hier aufzurufen). view2 ist eine DominoView-Datenquelle irgendwo auf Ihrer Seite. Die Datenquelle ist ein Wrapper mit Eigenschaften zum Erfassen der Einstellungen zum Filtern und Suchen, die Sie ausführen möchten. Zur Laufzeit werden sie berechnet und ändert die ViewEntries in der Datenquelle.

Endlich gibt es das zugrunde liegende Domino View-Objekt, das auch für LotusScript verfügbar ist. Dies gilt und wird immer alle Einträge enthalten. Die DominoView-Datenquelle fragt diese mithilfe der Filter- und Sucheigenschaften ab und ruft eine ViewEntryCollection oder einen ViewNavigator ab.

Egal, ob Sie ein Ansichtsfenster, Wiederholungssteuerung, Datenansicht oder was auch immer verwenden, das sind nur Komponenten, die visuell eine Sammlung von ViewEntries oder Dokumenten darstellen. Alle können an eine DominoView-Datenquelle gebunden werden. Wenn Wiederholungssteuerelemente und Datenansichten Ihnen zusätzliche Power verleihen, können Sie sie an beliebige Collection-Arten binden, nicht nur an eine dominoView-Datenquelle (z. B. DocumentCollection, ViewEntryCollection, mehrwertiges Feld, Java-Sammlung usw.).

0

Ich finde oft, dass die Suche in Java und dann übergibt die Ergebnisse an die Wiederholung als eine Liste arbeiten besser und erlauben mehr Optionen. Ich kann alle Informationen, die ich in Java brauche, in eine Map oder einen Baum laden. Dies gibt mir die Möglichkeit, benutzerdefinierte Sortierung in der Java-Klasse durchzuführen und auch Daten aus anderen Ansichten/Datenbanken einfach zu kombinieren. Da die Daten jetzt im Speicher sind, wird sie schnell neu geladen. Das einzige, worauf Sie achten müssen, ist die Größe der Daten. Wenn Sie eine Ansicht mit vielen Einträgen (10K?) Haben Sie vielleicht nicht alles in den Speicher geladen werden sollen ...

Howard

0

Ich bin nicht sicher, ob Sie eine Lösung noch nicht gefunden haben, aber in Betracht ziehen jQuery-Datentabellen. Oliver Busse schrieb eine sehr detailed blog post about integrating dataTables into XPages.

Um die spezifische Formatierung zu erhalten, habe ich eine Wiederholungskontrolle verwendet, um die Attribute "td", "tr" und "thead" zu enthalten, die Oliver in seinem Blogbeitrag aufgelistet hat.

Verwandte Themen