UI5 Tree Table расширенный список узлов

У меня есть таблица дерева, где мне нужно, чтобы получить расширенные узлы

сейчас у меня есть код, чтобы взять rowIndex, которые расширены

<table:TreeTable selectionMode="MultiToggle"
    enableSelectAll="false" rowHeight="40" 
    toggleOpenState="onOpenParent"

Контроллер у меня есть код, как показано ниже

onOpenParent : function(oControlEvent)
      {
          var rowIndex = oControlEvent.getParameter('rowIndex');
          ....

Который покажет rowIndex, которые открыты.

Проблема:

Когда древовидная модель изменена, rowIndex недопустимы, например, у меня есть 10 строк, после чего модель дерева изменилась и стала только 5 строк.

если у меня есть rowIndex как 7, который расширен, 7 недопустим сейчас, потому что у нас есть только 5 строк.

Поэтому необходимо очистить эти индексы, если они достигнут недопустимого состояния. ИЛИ мне нужно взять расширенные узлы после рендеринга.

Какой путь лучше и КАК?

1 ответ

Решение

Это способ, который я нашел, мы можем сделать это. но кто-то, пожалуйста, предложите, если нет другого способа сделать это.

Мы можем найти те, которые развернуты после обновления данных для модели или таблицы onAfterRendering, которые мы можем использовать ниже кода

         var allRows = this.oTable.getRows();
         for( r=0;r<allRows.length;r++)
         {
             var isExpanded = this.oTable.isExpanded(r);
             console.log("Row : "+r+" isExpanded:"+isExpanded);
         }
Другие вопросы по тегам