我有一个问题......我在客户端使用sencha架构师,在服务器端使用asp.net Mvc。我想在控制器的网格中使用自定义插件,因为使用sencha架构师我无法添加自定义插件。我怎么能做到这一点。对不起我的英文
答案 0 :(得分: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 );
},
});
答案 1 :(得分: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:无法调用未定义的方法'push'”。我不明白