Показать сообщение отдельно
  #1 (permalink)  
Старый 13.10.2011, 11:13
Новичок на форуме
Отправить личное сообщение для MaryM Посмотреть профиль Найти все сообщения от MaryM
 
Регистрация: 13.10.2011
Сообщений: 8

Засунуть Panel внутрь RowExpander
Объясню сразу - Ext знаю очень плохо, а сделать надо много, разбираюсь в процессе, но тут застопорилось.
Мне нужно сделать следующее: дерево с таблицей (взяла из примера http://dev.sencha.com/deploy/ext-4.0.../treegrid.html), в него подключила RowExpander - работает. Но пришлось поискать решение проблемы RowExpander подглючивает в 4.0.2. Нашла хак, работает (хак - в 180 строке заменяла:
var rowNode = this.getCmp().view.getNode(rowIdx);  ///BECKY
		var row = Ext.get(rowNode);
		var nextBd = Ext.get(row).down(this.rowBodyTrSelector);
		var record = this.getCmp().view.getRecord(rowNode);

/*        var rowNode = this.view.getNode(rowIdx),
            row = Ext.get(rowNode),
            nextBd = Ext.get(row).down(this.rowBodyTrSelector),
            record = this.view.getRecord(rowNode);*/
- на оф. сайте пишут, что исправленно в версии 4.0.4, но когда она светит и светит ли вообще бесплатным пользователям - ответа на этот вопрос я так и не нашла). Ладно, проехали.
RowExpander делает один длинный td на всю строку, что меня не устраивает - мне нужны те же колонки, что и есть, поэтому скопировала его, переименовала в CellExpander и чуть поправила - в строке 124 приписала o.rowBodyColspan = 1; (чтобы td не соллапсил на всю строку), а в темплейте прописала все нужные td-шки. Все вышло, все работает, шаблон можно использовать.
Но осталась главная проблема. Я хочу в каждую из получившихся ячеек вставить панель и грузить там в нее информацию (не важно, какую).
Попробовала так - добавила в шаблон вывода код <div id="mypanel{id}"></div> (например). Дивы появились, с разными id-шниками, как и положено, но вставить нормально панели так и не получилось.
Вполне возможно, что моя методика изначально неправильная и можно было бы сделать это все как-то проще, но как - я не понимаю. Интуиция подсказывает, что фокус где-то в XTemplate, но я не понимаю, как он работает в упор.
Подскажите, куда идти дальше? Либо нужно вставлять панельки после создания каждой строки (т. е. нужна мне название функции, чтобы по ним пробежаться), либо как там и что... не знаю даже... я привыкла к jquery, в котором твори что хочешь и когда хочешь, а тут дошла до точки - и не могу. Пыталась разобраться в работе RowExpander'а вообще - так вообще ничего и не понимаю. Как он что делает .
Короче,
На всякий случай еще добавлю, что собираюсь в каждую колонку после "раскрытия" вставить дерево, т. е. там будет загрузка данных с разных урлов (в смысле параметр будет разный, id - параметр из строки и номер колонки). Может, так будет понятнее...
Ответить с цитированием