Extjs从gridpanel内呈现的文本框中获取修改值
我试图从GridPanel extjs 3.4中呈现的文本框中的接口获取插入值,下面是如何在列模型中定义文本框的:Extjs从gridpanel内呈现的文本框中获取修改值,extjs,Extjs,我试图从GridPanel extjs 3.4中呈现的文本框中的接口获取插入值,下面是如何在列模型中定义文本框的: header: "Rosso", dataIndex: "contrFilEsRosso", width: 50, renderer: function(val, meta,record){ var str0='<p align="left"><input type="text" name="verde" value="' + val + '
header: "Rosso",
dataIndex: "contrFilEsRosso",
width: 50,
renderer: function(val, meta,record){
var str0='<p align="left"><input type="text" name="verde" value="' + val + '
return str0;
}
我已经从界面修改了文本框中的值,我想将修改后的值发送到控制器。很明显,存储有从后端提取的值,并且没有用新值更新,所以我尝试了GridPanel的getView方法,但是我无法获得textbox的新值
非常感谢。加载到ExtJs网格中的任何数据都将与编辑一起保存在存储中 有许多方法可以获得特定值,但通常只希望将数据发送回服务器,以便根据需要进行更新 您可以通过网格上的getStore方法访问存储,从那里您可以通过id或索引访问任何单个记录 Yo最好使用一个音频文件并收听诸如afterEdit之类的事件 像这样的东西应该可以工作,可能需要一些调整,而不是在手机上测试
您需要将输入值与存储绑定。您的实现不会进行任何绑定。奇怪的是,输入文本是在网格列中呈现的吗?
Ext.application({
name: 'MyApp',
launch: function() {
var store = Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
fields: ['name', 'email', 'phone'],
proxy: {
type: 'ajax',
url: 'data1.json',
reader: {
type: 'json',
rootProperty: 'items'
}
},
autoLoad: true
});
Ext.create("Ext.grid.EditorGridPanel", {
title: 'Simpsons',
renderTo: Ext.getBody(),
store: Ext.data.StoreManager.lookup('simpsonsStore'),
columns: [{
text: 'Name',
dataIndex: 'name'
}, {
text: 'Email',
dataIndex: 'email',
flex: 1
}, {
text: 'Phone',
dataIndex: 'phone'
}],
isCellEditable: function(col, row) {
return (col == 0);
},
listeners: {
afterEdit: function(e) {
alert("You changed " + e.field + " from " + e.originalValue + " to " + e.value);
}
},
height: 200,
width: 400,
});
}
});