[JSF] Datatable in Datatable

Bexx

Verrückte Erfinderin bei Daniel Düsentrieb
Hallo,

gerade bin ich etwas stutzig geworden.
Ich habe einen DataTable, in dem die verschiedenen Eigenschaften von Objekten aus
einer Liste dargestellt werden sollen. Nun ist es so, dass eine dieser Eigenschaften ebenfalls
eine LIste ist.

Gibt es eine elegantere Methode als einen DataTable in einen Datatable reinzudrücken?

Die Liste der Haupttabelle besteht aus einer Liste von Objekten, die dem folgenden Aufbau ähneln (nur zur Veranschaulichung ;-)):

Java:
public class Category
{
    private String categoryName = new String();
    private List<SomeList> getConnectedLists = new ArrayListArrayList<SomeList>();
    private Long id;

    //default constructor
    public Category()
    {
        
    }
    
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    
    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public List<SomeList> getGetConnectedLists() {
        return getConnectedLists;
    }

    public void setGetConnectedLists(List<SomeList> getConnectedLists) {
        this.getConnectedLists = getConnectedLists;
    }
}

Danke im Voraus für Vorschläge!
 
Hi Bexx,

das hängt davon ab. Wenn ich so etwas mache, schaue ich, ob das multiple Attribut atomar ist. z.B. eine Liste von Strings, o.ä. Dann würde ich die mit einer a4j:repeat oder einer rich:dataList ausgeben. Meistens nehme ich dazu das a4j:repeat, weil das am wenigsten HTML (keins) ausgibt und die Seite damit kleiner bleibt.

Wenn ich das dann ein wenig stylen möchte, baue ich ein htm:div oder htm:span mit ein. Die taglib findet sich hier: http://www.jsftutorials.net/htmLib. Wenn Du schon mit JSF 2 arbeitest, brauchst Du die lib natürlich nicht mehr :)

Dann gibt es noch die rich:subTable, wenn Du Tabellen verschachteln willst. Das Beispiel finde ich zwar nicht so super, aber es sollte reichen. Wenn das Attribut eben mehrfach ist ist es mehrfach. Wenn die User das direkt sehen wollen, sehe ich nicht, dass es unelegant ist das so anzuzeigen ...

Ich persönlich mag das eher mit einem Tooltip oder einem modalen Dialog gelöst. Sprich du baust deine Tabelle und spendierst einen "Details" Button. So ähnlich wie in der Demo, wenn Du auf Edit clickst. Wenn man die Info schneller haben möchte, würde ich einen Tooltip nehmen.

Aber das hängt davon ab, wie oft man die Info braucht. Wenn man die immer braucht, kommst Du an der geschachtelten Liste/Tabelle nicht vorbei ...
 

Neue Beiträge

Zurück