我有一个属性网格......
Ext.create('Ext.grid.property.Grid', {
id : "PROPERTIES",
autoHeight: true,
width: 300,
viewConfig : {
forceFit: true,
scrollOffset: 2 // the grid will never have scrollbars
},
listeners :{
propertychange:function(source,recordId,value,oldValue){
alert(Ext.encode(source));
alert(recordId);
alert("new Value="+value);
}
},
source : {
"title" : "My Object",
"color" : Ext.Date.parse('10/15/2006', 'm/d/Y'),
"Available" : false,
"Version" : 0.01,
"Description" : "A test object"
}
});
我的查询
当“源”中的任何值发生变化时,我需要一个侦听器来捕获更改。 假设用户试图将“标题”从“我的对象”更改为“标题1”。我怎样才能抓住新的“头衔”。
注意:在这个网格中我给了一个监听器“propertychange”。但没效果!
请帮我解决这个问题。 感谢
答案 0 :(得分:1)
setSource
方法设置包含属性数据的整个源数据对象。
如果您只想更改某些属性值,则应使用setProperty
方法设置属性的值并触发propertychange
事件:
Ext.create('Ext.button.Button', {
handler: function() {
Ext.getCmp("PROPERTIES").setProperty("title", "Tikgh");
},
text: "Change Source",
renderTo: Ext.getBody()
});