2016-07-21 18 views
1

Ich möchte die Standardsortierung von Column so ändern, dass sie nur alphabetisch auf der ersten Ebene sortiert und nach dem jcr-Knoten auf den restlichen Ebenen sortiert wird.Magnolia 5.4.7 Ändern der Spaltensortierung

Ich weiß ehrlich nicht, wo ich anfangen soll. Zuerst habe ich versucht, die bestehende TreePresenterDefinition zu erweitern, aber bald erkannte ich, dass das der falsche Weg war. Derzeit versuche ich, eine PropertyColumnDefinition zu erweitern und meine eigene ColumnFormatter zu schreiben.

Jeder kann mir eine Richtung geben, in die ich schauen muss?

Wishes, Hellfiend

Antwort

1

Wahrscheinlich sollten Sie eine Container, zum Beispiel berühren AbstractJcrContainer für Ihre Anwendung erweitern können und die Sortierung eingestellt, wie Sie es wünschen, im Grunde kann man auf diese Weise folgen; (Vaadin Weg)

IndexedContainer ic = new IndexedContainer() { 
      @Override 
      public Collection<?> getSortableContainerPropertyIds() { 
       // Default implementation allows sorting only if the property 
       // type can be cast to Comparable 
       return getContainerPropertyIds(); 
      } 
     }; 

     ic.setItemSorter(new DefaultItemSorter(new Comparator<Object>() { 
       public int compare(Object o1, Object o2) {     

      } 
     })); 

hoffe, das hilft,

Cheers,

+0

Dank! Ich habe im Moment eine Spalte mit dem Präfix jedes Knotens hinzugefügt und wollte diese alphabetisch sortieren. Scham-Sortierung scheint in der Baumansicht überhaupt nicht zu funktionieren. Wenn ich mehr Zeit bekomme, werde ich es versuchen, was meiner Meinung nach viel sauberer erscheint. – hellfiend

+0

Theres ist nicht genug Zeit für solch eine tiefe Veränderung, aber es scheint der richtige Weg zu sein. – hellfiend

+0

Dann müssen wir es vielleicht als Antwort akzeptieren, Prost :) – Ducaz035