2016-07-21 3 views
1

Я хочу изменить сортировку по умолчанию Column так, чтобы она сортировала только по алфавиту на первом уровне и сортировала узел jcr на остальных уровнях.Magnolia 5.4.7 Изменить сортировку столбцов

Я честно не знаю с чего начать. Сначала я попытался расширить существующий TreePresenterDefinition, но вскоре я понял, что это был неверный путь. В настоящее время я пытаюсь расширить PropertyColumnDefinition и написать собственный ColumnFormatter.

Любой может дать мне направление для изучения?

Желания, Hellfiend

ответ

1

Скорее всего, вы должны касаться контейнеров, например, один может продлить AbstractJcrContainer для вашего приложения и установить сортировку, как вы хотите там в основном один может идти по этому пути; (Vaadin путь)

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) {     

      } 
     })); 

Надеется, что это помогает,

Cheers,

+0

Спасибо! В настоящее время я добавил столбец с префиксом каждого узла и хотел отсортировать его в алфавитном порядке ... Сортировка позора, похоже, вообще не работает в древовидной структуре. Если я получу больше времени, я попробую свой путь, который кажется более чистым, на мой взгляд. – hellfiend

+0

Theres не хватает времени для таких глубоких изменений, но, похоже, это правильный путь. – hellfiend

+0

Тогда нам, возможно, придется принять это как ответ, ура :) – Ducaz035

Смежные вопросы