私は Ext ライブラリの初心者です。グリッド パネルを拡張して、新しいクラス レコードの 1 つからそのストアを参照しようとしています。
Ext.define('App.ui.CategoryGridPanel', {
extend : 'Ext.grid.Panel',
initComponent : function() {
var storeToUse = this.store;
if (storeToUse == null) {
storeToUse = Ext.data.StoreManager.lookup(StoreIDs.CategoryStore);
}
this.categoryRowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
clicksToEdit : 2,
store : storeToUse,
listeners : {
edit : function(editor, e) {
this.store.sync();
}
}
});
Ext.apply(this, {
store : storeToUse,
height : 400,
width : 300,
plugins : [ this.categoryRowEditing ],
columns : [ {
header : 'Description',
dataIndex : 'description',
flex : 1,
sortable : true,
editor : 'textfield'
} ],
tbar : [ {
xtype : 'button',
text : 'New',
handler : this.insertNewCategory
} ]
});
this.callParent(arguments);
},
/**
* Add new Category to grid.
*/
insertNewCategory : function() {
var category = Ext.create(ModelNames.Category, {
description : ''
});
this.store.insert(0, category);
this.categoryRowEditing.startEdit(0, 0);
}
});
メソッドinserNewCategoryは常にスローされ、this.storeがnullを返すことがわかったいくつかのアラートを入れた後、未定義の挿入を呼び出すことはできません。Extのサンプルコードを確認しましたが、特に何もしていません。
助けてください :(