私はグリッドを持っています:
Ext.create('Ext.grid.Panel', {
id: 'grid',
store: this.store,
columns: [{
dataIndex: 'a'
},{
dataIndex: 'b'
},{
dataIndex: 'c'
}],
selModel: {
selType: 'cellmodel'
},
plugins: [cellEditing]
})
cellEditting を使用するもの:
var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1,
listeners: {
beforeedit: function(obj) {
// Something goes here?
}
}
});
現在、グリッドに「行を追加」するボタンがあるため、レコードは新しいものでも古いものでもかまいません。
- ストア/パネルに新しい行が追加された場合、列が必要
b
で、c
編集可能になります。 - ユーザーが、パネルの作成時にデータベースから単にロードされた既存の行を編集しようとしている場合、
c
編集可能にする必要があるのは列だけです。
リスナーに何かを追加する必要があるとbeforeedit
思いますが、ExtJS と JavaScript は一般的に初めてなので、条件を説明する方法がわかりません。