1

我有一个问题...我在客户端使用 sencha 架构师,在服务器端使用 asp.net Mvc。我想要一个来自控制器的网格中的自定义插件,因为使用 sencha 架构师我无法添加自定义插件。我怎么能做到这一点。?对不起我的英语不好

4

2 回答 2

0

这是如何做到这一点的示例;希望你能从这里解决:

Ext.define('BS.app.TabController', {   
    extend: 'Ext.app.Controller',

    viewConfig: {
        plugins: [{
            ptype: 'formeditor',
            store: 'Groups'
        },{
            ptype: 'formtooltips'
        }]    
    },

    init: function()
    {
        this.callParent();

        // The dynamically created view is stored as a property
        this.view = this.getView(this.views[0]).create( this.viewConfig );        
    },
});
于 2013-05-30T16:26:40.017 回答
0

谢谢你的帮助,但我需要从控制器的网格中添加插件。如果我使用这个:

  Ext.define('MyApp.controller.ArticoliListaController', {
    extend: 'Ext.app.Controller',
    stores: ['ArticoloStore'],
    models: ['articoloData'],
    views: ['articoli.ListaArticoli'],
    viewConfig: {
        plugins: [{
            ptype: 'filterbar',
            renderHidden: false,
            showShowHideButton: true,
            showClearAllButton: true
        }]
    },
    init: function () {
       // this.view = this.getView(this.views[0]).create(this.viewConfig);
        this.control(
                {

                    '#listaArticoli #btnInserisci':
                    {
                        click: this.inserisciClick
                    },
                    '#listaArticoli #grdListaArticoli': {

                        afterrender: function (gridview) {
                            Ext.getCmp("listaArticoli").down("#grdListaArticoli").getStore().load();
                            Ext.getCmp("listaArticoli").down("#grdListaArticoli").create(this.viewConfig);//not work                        },
                        celldblclick: function (tableview, td, cellIndex, record, tr, rowIndex, e, eOpts) {
                            Ext.create('MyApp.view.articoli.InsArticoli', { rIx: rowIndex }).show();
                        }

                    }

                });

    },

    inserisciClick: function (e) {
        Ext.create('MyApp.view.articoli.InsArticoli').show();
    }
});

代码不起作用。它会出错,因为我不使用...我尝试过:

......
    '#listaArticoli #grdListaArticoli': {
                            afterrender: function (gridview) {
                                getWin("listaArticoli", "#grdListaArticoli").getStore().load();

                                var filterRow = new Ext.ux.grid.FilterBar({
                                    ptype: 'filterbar',
                                    renderHidden: false,
                                    showShowHideButton: true,
                                    showClearAllButton: true
                                });


                                filterRow.init(gridview);
                                gridview.plugins.push(filterRow);
                            },
    ....

但我从日志“Uncaught TypeError: Cannot call method 'push' of undefined”中收到一个错误。我不明白

于 2013-05-31T14:45:49.010 回答