Визуализация динамических компонентов в ExtJS 4 GridPanel Column с помощью Ext.create

У меня есть ExtJS (4.0.7) GridPanel, который я заполняю из магазина. Значения, которые я отображаю в столбце GridPanel, должны иметь различное представление в зависимости от типа данных, которые находятся в записи.

Конечная цель заключается в том, чтобы записи с "двойной" или "целое число" значение для записиtype Свойство представляет пользователю ползунок, который он может настроить, и тип «строки» просто отображает текст только для чтения.

Для этого я создал пользовательский столбец. Он проверяет тип в рендере и определяет, что отображать.

Я получил "строку" хорошо работает с приведенным ниже кодом, но борется с тем, как я могу динамически создавать и отображать более сложные элементы управления ползунком в столбце.

Этот упрощенный пример просто пытается визуализироватьPanel с контролем даты в нем, как будто я могу получить это, я могу выяснить остальную часть слайдера.

Ext.define('MyApp.view.MyColumn', {
    extend: 'Ext.grid.column.Column',
    alias: ['widget.mycolumn'],

    stringTemplate: new Ext.XTemplate('code to render {name} for string items'),

    constructor: function(cfg){
        var me = this;
        me.callParent(arguments);

        me.renderer = function(value, p, record) {
            var data = Ext.apply({}, record.data, record.getAssociatedData());

            if (data.type == "string") {
                return me.renderStringFilter(data);
            } else if (data.type == "double" || data.type == "integer") {
                return me.renderNumericFilter(data);
            } else {
                log("Unknown data.type", data);

        };
    },

    renderStringFilter: function(data) {
        // this works great and does what I want
        return this.stringTemplate.apply(data);
    },

    renderNumericFilter: function(data) {

        // ***** How do I get a component I "create" to render 
        // ***** in it's appropriate position in the gridpanel?
        // what I really want here is a slider with full behavior
        // this is a placeholder for just trying to "create" something to render

        var filterPanel = Ext.create('Ext.panel.Panel', {
            title: 'Filters',
            items: [{
                xtype: 'datefield',
                fieldLabel: 'date'
            }],
            renderTo: Ext.getBody() // this doesn't work
        });
        return filterPanel.html;  // this doesn't work
    }
});

Моя проблема на самом деле, как я могуExt.create компонент, и он визуализируется в столбец в сетке?

Ответы на вопрос(3)

Ваш ответ на вопрос