2015-03-25 3 views
1
  • Магазин - это Ext.data.TreeStore, а сетка - Ext.tree.Panel. Мы построили дерево раньше из бэкэнда и передали его в treeStore. Поэтому, когда я расширил строку по столбцу, это значение столбца не отображается в дочерних узлах.
  • Теперь я использую lazyfill для загрузки данных узла один раз, и я хочу скрыть те текст столбца, где его родительский расширяет. Как я могу это сделать, если мне удалось получить индексы строки и colomn ячейки?
  • Следующий код находится внутри слушателей TreeStore:ext.js скрыть определенные ячейки на основе индексов строк и ячеек

    load: function(treestore, node, records, successful, eOpts) { 
        //get the column and row indexes of a node 
    }, 
    datachanged: function(view, eOpts){ 
        //??select the cell with column and row indexes and hide it. 
    } 
    

Спасибо заранее.

ответ

0

Это невозможно, потому что возвращенные данные не содержат информации о индексах столбцов, которые генерируются extjs. Таким образом, нет возможности скрывать определенные столбцы в функции load или datachanged, где у вас есть только чистые данные.

Решение состоит в том, чтобы удалить эти данные из бэкэнд и передать родительские узлы узла, на который вы щелкнули, чтобы выполнить бэкэнд для обработки. Таким образом, вы все еще строите дерево, но по одному узлу за раз.

Смежные вопросы