CellList с ячейками CellTree

Я использовал пример gwt CellList для реализации списка на основе ячеек. Он использовал ячейки TextCell для представления данных, так как это был просто текст, и работал отлично.

Теперь я должен расширить этот список, включив в него элементы типа "дерево" (я имею в виду, что вы можете щелкнуть по некоторому элементу списка, и, если это не лист, он открывается и отображает информацию о его дочерних элементах). Итак, я реализовал виджет на основе CellTree. ( CellTree)

Моя проблема в том, что я не знаю, как вставить элементы типа "дерево", которые на самом деле являются CellTrees, в мой CellList.

Единственный подход, который я мог представить, - это создать новый тип ячеек, представляющих CellTree, расширяющий "AbstractCell", и использовать его в качестве элементов CellList.

Моя реализация:

private class TreeCell extends AbstractCell<CellTreeListBox> {

    public TreeCell() {}

    @Override
    public void render(Context context, CellTreeListBox value,
        SafeHtmlBuilder sb)
    {
      sb.appendEscaped(value.getElement().getInnerHTML());
    }
}

Когда-то включенный в CellList, он отображает только корневые узлы, но когда я нажимаю на них, они не открываются! так что этот подход не сохраняет события, ни функциональность selectionModel...

Так что я не знаю, возможно ли реализовать ячейку, которая представляет целое TreeTree и сохраняет его события и функциональные возможности (если вы нажмете, узел будет открыт, и отобразится информация о его дочерних элементах и ​​т. Д.).

Буду очень признателен за любую информацию об этом!

1 ответ

Решение

Вы должны заменить свой CellList с CellTree,

Либо это, либо замена CellList с какой-то панелью контейнера (FlowPanel, VerticalPanel) в который вы бы (вручную) поместили виджеты (Labelс или, возможно, CellWidget с TextCell) и вставьте свой CellTree между ними, чтобы показать это. Тогда вы потеряете другие функции виджетов ячеек: SelectionModel, пейджинг и т. д.

В любом случае угробите CellList, Вы не можете вставлять виджеты в виджеты ячеек.

Другие вопросы по тегам