我有一個問題,使我的網格中只有一列可編輯。我的相關網格的配置是:拉力網格:只能編輯一列
me.FeatureGrid = me.add({
xtype: 'rallygrid',
width: 700,
height:300,
scroll:'vertical',
columnCfgs: [
{
text:'Feature',
dataIndex:'Name',
width:400
},{
text:'Stories',
dataIndex:'ObjectID',
sortable:true,
doSort: function(direction){
//custom sort function
},
width:100,
renderer:function(oid){
//custom render funciton
}
},{
dataIndex:'My_Custom_Field',
width:180,
text:'Status',
editor:{
xtype:'combobox',
store: Ext.create('Ext.data.Store', {
fields: ['Status'],
data:[
{'Status':'Committed'},
{'Status':'Not Committed'}
]
}),
editable: false,
displayField: 'Status'
},
renderer: function(tcs, meta, record){
//render function
}
}
],
plugins: [
Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit:1
})
],
viewConfig:{
stripeRows:true
},
listeners: {
beforeedit: function(editor, e){
console.log(e.colIdx);
return e.colIdx === 3; //only edit last col
},
edit: function(editor, e){
//edit function
}
},
showPagingToolbar:false,
enableEditing:false,
context: this.getContext(),
store: //feature Store
});
我想只得到第3列(My_Custom_Field)編輯的,所以用戶無法改變1列的任何東西,2。此外,第三列有一個組合框,只有具有2個值可供選擇,所以我必須將其設置爲不可編輯。我的目標是用戶更新組合框,然後觸發「編輯」事件並保存更新的記錄。
我的第一個問題是,我不想在我的行開始時使用'編輯記錄齒輪',但是由於我添加了插件,它不會消失。就像我說過的,我只希望第三列能夠被用戶編輯。
另外,當我完成單擊組合框並選擇值時,我得到一些奇怪的錯誤。這裏是錯誤的堆棧跟蹤,我不知道我的網格中有什麼是null
。
哦,感謝齒輪和編輯:錯誤。但由於某種原因,第三列中的組合框不合作。除非設置了enableEditing:false,否則不會渲染。錯誤仍然在拋出。我一直在搞不同的配置選項,但我可以保證問題出在我的數據存儲上,我正在使用自定義數據存儲來解決另一個問題,並且錯誤只發生在我開始使用定製存儲之後,而不是wsapi Feature商店 – spsteffl