ExtJS-';组合列';基于渲染器-行编辑不注册事件或执行它应该执行的操作

ExtJS-';组合列';基于渲染器-行编辑不注册事件或执行它应该执行的操作,extjs,Extjs,? 请查看函数 我没有完全使用“combocolumn”。但是,我使用了主要组件。请告知是否有可能工作。到目前为止,网格拒绝呈现列本身,我无法确定错误是什么,因为代码完全相同? 我这样做不是为了表现得聪明:)-而是为了在标准化项目通用组件之前简化并在1列上运行它 组合呈现fn() 编辑器-网格列模型中 { 标题:“计划类型”, 数据索引:“计划id”, 编辑:{ //allowBlank:'假', xtype:“组合框”, queryMode:'本地', 商店:planTypeStore, 显

?

请查看函数

我没有完全使用“combocolumn”。但是,我使用了主要组件。请告知是否有可能工作。到目前为止,网格拒绝呈现列本身,我无法确定错误是什么,因为代码完全相同? 我这样做不是为了表现得聪明:)-而是为了在标准化项目通用组件之前简化并在1列上运行它

组合呈现fn()

编辑器-网格列模型中

{ 标题:“计划类型”, 数据索引:“计划id”, 编辑:{ //allowBlank:'假', xtype:“组合框”, queryMode:'本地', 商店:planTypeStore, 显示字段:“计划名称”, valueField:“计划id” } ,呈现程序:ComboBoxRenderer(this.editor,'gridPanelId') /*这是基于文档的渲染器-它不起作用*/ //,渲染器:函数(val){ //var rec=planTypeStore.findRecord('plan_id',val); //返回(rec!==null?rec.get(“计划名称”):“”); //}


网格面板列中的内容-现在包含整个函数,当启动rowediting时,它会显示combox编辑器,并在更新后返回,以在列中列出整个函数文本。该编辑器是什么。该编辑器是在其他地方定义的,还是应该是对上面定义的编辑器的引用渲染器?渲染器:COMBOBOX渲染器(这个编辑器,“GrpPANELID”),请仔细考虑一下,是的,这是RoxIdTuffin插件的栏目编辑器,对我来说是可疑的。我会期待<代码>这个。编辑器=新Ext.Co BOBOX({…});< /代码>,然后在模型中:<代码>编辑器:这个。编辑器< /代码>
<code>
function ComboBoxRenderer(combo, gridId) {

    var getValue = function (value) {
        var idx = combo.store.find(combo.valueField, value);
        var rec = combo.store.getAt(idx);
        if (rec) {
            return rec.get(combo.displayField);
        }
        return value;
    };

    return function (value) {
        if (combo.store.getCount() === 0 && gridId) {
            console.log(combo.store.getCount()+gridId);
            combo.store.on(
                    'load',
                    function () {
                        var grid = Ext.getCmp(gridId);
                        if (grid) {
                            grid.getView().refresh();
                        }
                    },
                    {
                        single: true
                    }
            );
            return value;
        }

        return getValue(value);
    };
//    Ext.getCmp(gridId).getView().refresh();
}
</code>