В настоящее время у меня довольно большая сетка, и я успешно использую плагин RowExpander для отображения дополнительной информации в определенных строках.Моя проблема заключается в том, что не все строки содержат вышеупомянутую дополнительную информацию, и я не хочу, чтобы RowExpander был активным или чтобы отображался значок «+», если запись определенного хранилища данных пуста.Я попытался использовать обычное свойство "рендеринга" для объекта RowExpander, но это не сработало.
В общем, как можно, чтобы значок RowExpander и двойной щелчок отображались и активировались, только если поле определенного хранилища данных! = ""?
Заранее спасибо!=)
РЕДАКТИРОВАТЬ: я нашел решение
Как было заявлено e-цинком, часть решения (по крайней мере для меня) было предоставить пользовательский рендер, которыйпроверил бы мое условное поле.Вот мой RowExpander:
this.rowExpander = new Ext.ux.grid.RowExpander({
tpl: ...
renderer: function(v, p, record) {
if (record.get('listeRetourChaqueJour') != "") {
p.cellAttr = 'rowspan="2"';
return '<div class="x-grid3-row-expander"></div>';
} else {
p.id = '';
return ' ';
}
},
expandOnEnter: false,
expandOnDblClick: false
});
Теперь уловка в том, что для этой конкретной Grid я решил не разрешать expandOnEnter и exteOnDblClick, поскольку RowExpander иногда не будет отображаться.Кроме того, CSS-класс ячейки сетки, в которой будет находиться значок «+», называется «x-grid3-td-expander».Это связано с тем, что класс CSS автоматически устанавливается в x-grid3-td- [id-of-column].Таким образом, устанавливая id на '' только тогда, когда я не рендеринг rowExpander, я также удаляю серый фон неотрисованных ячеек.Таким образом, нет двойного щелчка, нет ввода, нет значка, нет серого фона.Это действительно так, как будто для столбцов, в которых поле моего хранилища данных пусто (RowExpander), строго не задействован RowExpander.
Это помогло мне.Для кого-то, кто хочет сохранить идентификатор ячейки или хочет, чтобы двойной щелчок и ввод событий работали, нет ничего другого, кроме расширения класса, который я предполагаю.Надеюсь, что это поможет другим людям, застрявшим в том положении, в котором я находился!