Правильная отрисовка combo в grid
Привет всем! Возможно мой вопрос покажется банальным но все же...
Есть редактируемая таблица, одно из полей которой должно быть списком выбора (combo). Нужно чтобы при отображении таблицы выводился не идентификатор отдела, а его название. Пример - http://extdev.eugent.org/testero/. Пункт 'Editable Grid'. Привожу описание столбца. Часть кода примера: { text : 'Department', xtype : 'numbercolumn', editor : { xtype: 'combo', store: Ext.create('Ext.data.Store', { autoLoad: false, idProperty: 'id', fields: [ {name: 'id', type: 'int'}, {name: 'name', type: 'string'} ], proxy: { type: 'ajax', url: '/testero/data/getdata.php', method: 'GET', extraParams: { type: 'departments' }, reader: { root: 'data', type: 'json' } } }), typeAhead : true, triggerAction : 'all', lazyRender : false, queryMode : 'remote', displayField : 'name', valueField : 'id', editable : false }, flex : 1, format : '0', hidden : false } |
Помоему с editor как раз всё нормально
как вариант измени прорисовку самой таблицы. { text : 'Department', xtype : 'numbercolumn', renderer: function(value){ switch (value) { case 1: return 'Управление'; case 2: return 'Бухгалтерия'; default: return 'Да хрен его знает что это такое )))'; }; //Ещё прикольное гденибудь хранить store с отделами, и здесь из него извлекать имя по id (переданному в value). } editor :{ //бла бла бла } } |
Хранилище приходит с сервера
Цитата:
Хранилище combo подгружается с сервера. |
Мне по идее желательно предварительно загрузить как-то хранилище комбо и потом изменить рендер, но комбо же используют не одно хранилище. Или как-то их нацелить на одно хранилище - что-то запутался я во всем этом...
|
renderer только свой столбец рендерить будет.
В твоём примере комбо использует только одно хранилище. Просто обьяви это хранилище гденибудь на стороне чтобы одним экземпляром полтзовались как renderer так и combo. Меня сейчас занимает мысль, о том какой выигрыш можно было бы получить, используя ассоциации. |
До ассоциаций у меня руки не доходят разобраться
|
Ну если у Вас хранилище содержит большой объем данных, да к тому же пополняемый, то конечно лучше использовать ассоциации. Если данных немного и они статические, можно их в локальном хранилище разместить, или же в коде (если очень мало).
Цитата:
|
А есть у кого-нибудь такой пример с ассоциациями? глянуть для примера
|
Часовой пояс GMT +3, время: 08:31. |