Как я могу получить grid-cell-collection от объекта grid? - PullRequest
0 голосов
/ 07 сентября 2018

Как я могу перебрать все панели ячеек сетки в currentPage сверху объекта виджета панели?

Я не могу понять, как получить коллекции ячеек из объекта сетки.

for (var cell in widget.decendants.MyGridWidget.???) {
    cell.decendants.somethingOperation;
}

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Настройка скрытия всех подробных панелей для сетки будет выглядеть следующим образом:

GridPanel Ячейка (то есть дети):

  1. Панель заголовка с виджетом метки и виджетом кнопки (имя: Button3). Первоначально установите для Button3 текст «expand_less».

  2. Панель сведений с тремя виджетами меток.

Код события onClick для Button3:

var grid = widget.parent.parent.parent;
var cells = grid.children._values;
cells.forEach(function(i) {
  if(i.descendants.Button3.text === 'expand_less') {
    i.descendants.Button3.text = 'expand_more';
  } else {
    i.descendants.Button3.text = 'expand_less';
  }
});

Подробная привязка видимости панели:

@widget.parent.descendants.Button3.text === 'expand_less'

Надеюсь, что что-то подобное будет работать для вашего конкретного варианта использования.

0 голосов
/ 07 сентября 2018

Возможно, вы захотите попробовать следующее:

var cells = widget.children._values;
for (var i in cells) {
  console.log(cells[i].descendants._values[0].text);
}

В моем примере я настроил виджет сетки и для события onDataLoad виджета я ссылаюсь на потомков виджета сетки, а затем перебираю все дочерние элементы, вызываясначала потомок каждой ячейки, а затем записывает текст.Это, вероятно, должно привести вас в правильном направлении в любом случае.Однако, в зависимости от того, что вы пытаетесь сделать с каждым потомком в ячейке сетки, вы можете решить вместо этого связывать каждого потомка или основывать то, что вы пытаетесь выполнить, на элементе источника данных.Кроме того, учтите, что потомками ячейки могут быть многие элементы, поэтому вам может потребоваться выполнить итерации для каждого потомка.

...