グリッドのいくつかの列をロックする必要があります。グリッドの構成を使用した私のコードは次のとおりです。
Ext.define('Crm.view.tables.baseTable', {
extend: 'Ext.grid.Panel',
alias : 'widget.baseTable',
columnLines: true,
initComponent: function(){
var that = this;
var $this = that;
this.selType = 'checkboxmodel',
this.selModel = {
allowDeselect: true,
mode: "MULTI"
};
this.plugins = [
new Ext.grid.plugin.CellEditing({
clicksToEdit: 2
}),
{
ptype: 'bufferedrenderer',
numFromEdge: 8,
trailingBufferZone: 10,
leadingBufferZone: 10
}
];
var filters = {
ftype: 'filters',
encode: true,
local: true
};
this.features = [filters];
var columns = [
new Ext.grid.RowNumberer(),
{
header : 'ID',
dataIndex: 'id',
locked : true,
filterable: true,
width : 30
},{
header : 'ФИО',
width : 100,
dataIndex: 'name',
filterable: true,
filter: {
type: 'string'
},
editor: 'textfield'
},{
header : 'Телефон',
dataIndex: 'phone',
filterable: true,
width : 75,
editor: 'textfield'
},{
header : 'Email',
dataIndex: 'email',
filterable: true,
width : 90,
editor: 'textfield'
}
];
this.columns = columns
var tbar = [{
text: 'Обновить',
handler: function(){
$this.getStore().reload();
}
},'-',{
text: 'Очистить фильтр',
handler: function () {
that.filters.clearFilters();
}
},'-']
this.tbar = tbar;
this.callParent();
}
});
しかし、私はエラーが発生します:
Uncaught TypeError: Cannot call method 'on' of undefined ext-all-debug.js:115013
bufferedrenderer
構成からプラグインを削除すると、ロックされた列が機能します。何が問題ですか?答えてくれてありがとう!