如何动态添加网格插件

时间:2019-09-27 06:27:11

标签: javascript extjs

如何动态添加网格插件。

我有网格,我想动态加载rowExpander。所以这就是我要补充的内容。但是我的网格没有用扩展器加载。任何身体都能承受此负荷。

beforerender: function(me,eOpts){

    var Details= [{Semester: 1,Maths: 75,Science: 50,Total: 150,Marks: [{    Mat: 50,    Sci: 25,    Exam: "Sem11"}, {    Mat: 25,    Sci: 25,    Exam: "Sem12"}]
        }, {Semester: 2,Maths: 75,Science: 50,Total: 150,Marks: [{    Mat: 50,    Sci: 25,    Exam: "Sem21"}, {    Mat: 25,    Sci: 25,    Exam: "Sem22"}]
        }];

        if(me.plugins.length === 0){
            var someGrid = {
                ptype: 'rowexpandergrid',
                gridConfig: [{
                    store:  Ext.create('Ext.data.Store', {
                        storeId:'student',
                        fields:['productid', 'productName', 'qty'],
                        data:[],
                    }),
                    columns: [{ text: "Maths", dataIndex: 'Mat' },{ text: "Science", dataIndex: 'Sci' }],
                    columnLines: false,
                    border: true,
                    autoWidth: true,
                    autoHeight: true,
                    frame: false,
                    header: false,
                    plugins:[]
                }]
            };
            someGrid["gridConfig"][0].store.load(Details);
            me.plugins.push(someGrid); 
        }
    }

在渲染方法之前,我正在添加插件。谁能帮助我更正我的代码。

1 个答案:

答案 0 :(得分:1)

在您的beforeRender方法中,您要添加me.plugins.push(someGrid);删除该行,而不是将该插件添加到网格。

用该行替换。它会工作。

me.addPlugin(someGrid)