Возможно ли динамическое изменение шаблона rowBodyTpl?
Приветствую вас!
Имеется grid, в который выводится из базы некая таблица. К grid-у прикручен плагин rowexpander, у которого в качестве параметра имеется rowBodyTpl. С его помощью хотелось бы отобразить не только данные из изначальной таблицы, но и информацию из связанной с ней. Загвоздка в том, что каждой строке первой таблицы может соответствовать разное кол-во строк из связанной. Например, первая таблица - это список покупателей, а вторая - список книг, которые были куплены этими покупателями. Так вот, выбираем мы покупателя и получаем список книг, купленных этим покупателем. Загвоздка, ессесно, не в получении инфы из базы, а в том, чтобы заставить rowexpander отображать разное количество дивов в зависимости от числа купленных книг. Предполагалось сделать что-то типа такого: function tplBooks(customer){ books = количество книг, купленных выбранным покупателем; if (books == 0) {ничего не добавляем} else { var n=1; while (n<books){ return '<div class = tpl><a href="file-download.php?id='+customer+'>Книга '+n+'</a></div>,' } } Два дня попыток подсунуть подобную конструкцию (да вообще любую функцию) rowexpander-у наводят меня на мысль, что я использую неподходящий компонент.... Или тот? Тогда - как???? :help: |
понятия не имею что делает плагин expander но за его отрисовку отвечает метод renderer, его тебе и нужно переписать так как тебе надо в своём классе.
//вот как работает сейчас renderer: function(value, metadata, record, rowIdx, colIdx) { if (colIdx === 0) { metadata.tdCls = 'x-grid-td-expander'; } return '<div class="x-grid-row-expander"> </div>'; }, |
Часовой пояс GMT +3, время: 14:56. |