У меня довольно странный вопрос - как отсортировать глазированный TreeList?Я использую его в SWT NatTable, и когда мой поставщик данных установлен на GlazedListsDataProvider с TreeList внутри, сортировка работает очень странным образом.Это работает нормально, если я использую GlazedListsDataProvider с SortedList.
Например, мое дерево выглядит так:
Root
Node1
Child1
Child2
Node2
Child3
Мне нужно отсортировать только дочерние элементы INSIDE Node1 и Node2, отдельно один издругой (так что только child1 и child2 будут менять свое место).Однако после сортировки это выглядит следующим образом:
Root
Node1
Node2
Child1
Child2
Child3
Перевернутая сортировка:
Root
Node1
Node2
Child2
Child1
Child3
Таким образом, в принципе, это работает (сортирует дочерние элементы правильно), но более тогоон сортирует элементы, которые он не должен сортировать.Что может быть причиной такого поведения?Мой алгоритм сортировки прост:
compare (element1, element2) {
if (both elements are under same parent and have same type)
compare
otherwise
return 0
}
Я делаю сортировку, как предложено в следующем примере http://kari.dy.fi/src/sample/foldertree.zip - это означает, что после построения компаратора в SortState я устанавливаю его в TreeFormat, используемыйTreeList.
Я предполагаю, что возвращение 0 не работает должным образом, однако я не вижу другого решения.Или, может быть, это проблема где-то еще, а не в моем компараторе.
Спасибо за ваше терпение, я буду рад получить любые подсказки.С наилучшими пожеланиями, Алекс Г.