Vaadin 8.1 RC1 TreeDataProvider, TreeData (getParent), HierarchicalQuery

Я пытаюсь играть с TreeGrid на Vaadin 8.1 RC1. Я пытаюсь перейти от HierarchicalContainer к TreeDataProvider. Но я не понял идею новой иерархической структуры данных. Мне нужны простые вещи: - Можно ли получить идентификатор любого элемента иерархических данных? Или новые данные не будут использовать идентификаторы? - возможно получить родительский объект существующего объекта. Нравиться

TreeData<MyClass> MyTreeData;
MyClass  myObject;
MyClass parentItem = MyTreeData.getParent(myObject)

Я нашел некоторые проблемы, связанные с HierarchicalQuery и «Родительский узел доступен в HierarchicalQuery через метод getParent, который возвращается для корневого уровня». Но нет примеров, как использовать HierarchicalQuery.


person svartalf    schedule 25.07.2017    source источник
comment
Похоже, компоненту TreeGrid не нужна родительская информация в компоненте HierarchicalDataProvider. Он косвенно определяется методом fetchChildren. Как вы узнали родителя в Vaadin 7?   -  person Steffen Harbich    schedule 26.07.2017
comment
Я предпочитаю хранить иерархию в своих собственных предметных объектах, а не полагаться на вспомогательные классы Vaadin. Существует github.com/vaadin/framework/issues/9700 и исправление находится на рассмотрении. предоставляя TreeData.getParent() для случаев, использующих TreeDataProvider, но запрос на расширение для общего случая любого иерархического поставщика данных по-прежнему будет приветствоваться.   -  person svartalf    schedule 26.07.2017
comment
Итак, я думаю, вам нужно реализовать свой собственный HierachicalDataProvider, который использует объекты вашего домена. Но, может быть, я не понимаю вашего вопроса.   -  person Steffen Harbich    schedule 27.07.2017


Ответы (1)


На данный момент (Vaadin 8.1.0) такого метода нет. Он был добавлен как предложение и может быть реализован в будущих версиях. Мы можем хранить иерархическую информацию в вашем классе компонентов, который мы используем с TreeData.

person svartalf    schedule 27.07.2017