Я хотел бы показать те же данные в SWT / Jface TreeViewer и TableViewer. Вопрос в том, как правильно хранить данные, чтобы оба зрителя могли использовать одни и те же данные?
Мои необработанные данные хранятся в массиве:
Id | Level | Type | Value
1 | 1 | Heading | Heading 1
2 | 2 | Text | This is a text
3 | 2 | Text | This is another text
4 | 1 | Heading | Heading 2
5 | 2 | Heading | Heading 2.1
6 | 3 | Heading | Heading 2.2
7 | 4 | Text | This is more text
...
TreeViewer должен отображать товар только с типом «заголовок»:
- заголовок 1
- заголовок 2
- заголовок 2.1
- заголовок 2.2
TableViewer должен отображать значения в том же порядке, что и в массиве.
Мои мысли:
Я могу хранить данные в ArrayList и предоставлять их в TableViewer, используя ArrayContentProvider по умолчанию. Но я не могу использовать этот ArrayList для TreeViewer.
Или я могу сохранить данные с отношением родитель-потомок и реализовать интерфейс ITreeContentProvider для использования в TreeViewer. Но чем я не могу использовать его для TableViewer.
Можете ли вы дать мне подсказку?
Фон:
Может быть, кто-то знает программное обеспечение ДВЕРИ . У вас есть контурное представление слева (TreeViewer) и список в главном представлении (TableViewer). Оба используют одни и те же данные.