2015-07-02 9 views
13

Ich habe versucht, die liferay-ui:search-container zu holen und die Datenbanktabelleneinträge auf UI in einem Tabellen-/Rasterformat anzuzeigen. Durch die liferay-ui:search-container mit erhalte ich die Ausgabe, wie unten gezeigt,Dynamische Spalten in liveray-ui: Such-Container?

enter image description here

ich die USER_ Tabelleneinträge in dem obigen Screenshot bin holen.

Problem:

Ich wollte, dass die Rasterspalten dynamisch wie machen, wollte ich eine Option für die Endbenutzer ermöglichen, um die unerwünschten Spalten zu entfernen und die gewünschten Spalten in der jeweiligen Gittern/Tabelle hinzufügen.

EX:

In dem obigen Screenshot die die folgenden Spalten in einem Raster zeigen.

First Name, Last Name, Screen Name, Job Title, Organization, User Groups 

Jetzt Wenn Benutzer Job Title entfernen will und will Greetings and Mail Address Spalten auf UI mit Klick-Ereignisse mit sich berührenden/Modifizieren Sie den Code hinzuzufügen.

Wie kann ich diese Funktion implementieren?

Hinweis:

Ich brauche diese Funktion für kundenspezifische Modelle zu implementieren.

Abfragen:

1) Gibt es irgendwelche api/Methoden, um diese Funktion zu implementieren/aktivieren?

2) Wenn nicht, wie kann ich die Schritte implementieren? Irgendwelche Vorschläge oder Schritte, um diese Aufgabe zu erfüllen?

Antwort

11

Dies kann durch Hinzufügen einer Konfigurationsseite zu Ihrem Portlet erreicht werden.

Sie können eine Portlet-Konfigurationsseite entwickeln, auf der die erforderlichen Optionen konfiguriert und als Portlet-Einstellungen gespeichert werden können.

Später können Sie beim Anzeigen des Suchcontainers die Portleteinstellungen abrufen und nur die Spalten anzeigen, die im Konfigurationsformular ausgewählt wurden.

Hier ist ein Link, wie die Portlet-Konfiguration mit Portlet-Einstellungen zu entwickeln: Implementing Configurable Portlet Preferences

+0

Wie die Liste der Spaltennamen ich in eine Liste zu bekommen? Gibt es eine Methode, um die Spaltennamen einer Tabelle abzurufen? –

+0

überprüfen Sie Ihre {Entity} ModelImpl.java Datei für öffentliche statische endgültige Objekt [] [] TABLE_COLUMNS = {...}; Dadurch erhalten Sie eine Liste mit Spalten und Typen. Versuchen Sie auch ModelHintsUtil.getFieldEl(), ich habe das nie müde. – Dipti

+0

Nehmen wir an, ich muss alle Spalten der USER_Tabelle abrufen. Wie kann ich alle Spalten von USER_ Tabelle –

Verwandte Themen