Могу ли я сгруппировать строки в Javafx TableView? - PullRequest
1 голос
/ 23 мая 2019

Я хотел бы сделать javafx TableView со строками, которые могут (или не могут) иметь «связанные» строки. По сути, я думаю, что это может быть табличное представление о табличных представлениях, но (а) я не уверен, что это сработает, и (б) моя интуиция говорит мне, что есть более простой способ.

Представьте себе счет или материалы типа

item    material    quantity    name
1       wood        1           base
2       wood        4           drawer
        wood        4           drawer sides
        wood        1           drawer base
        hardware    1           pull
        hardware    8           nails
3       aluminum    4           leg
        plastic     1           foot
        hardware    1           screws

Сейчас он отсортирован по имени (основание, ящик, ножка). Если я сортирую его по материалу, я хочу, чтобы элементы были 3, 1, 2 (или 3, 2, 1): алюминий, дерево, дерево. Мне нужны «подпункты», чтобы остаться с пронумерованными элементами.

Могу ли я сделать "сложные строки"? (И я даже не знаю, как бы я это назвал!) Или мне нужна особая сортировка, которая будет объединять группы?

1 Ответ

3 голосов
/ 23 мая 2019

Вы можете проверить TreeTableView.С его помощью вы сможете сортировать по любым критериям, в то же время имея записи, сгруппированные по любым другим критериям (например, по name)

Этот компонент получает свои данные из дереваМодель структуры, построенная на классе TreeItem.

С ее помощью можно построить корень TreeItem для корневого объекта вашего списка материалов, имеющий в качестве дочерних элементов TreeItem для каждогогруппа, которую вы хотите (название материала?).Затем каждый из этих группирующих TreeItem объектов должен содержать в качестве дочерних элементов соответствующие TreeItem дочерние элементы для каждого действительного material в отображаемой ведомости материалов.

множество хороших учебных пособий, которые подробно описывают технические аспекты этого:

Надеюсь, это поможет.

...