EditorGridPanel中的ComboBox触发不了afteredit - Web 开发 / Ajax
一个EditorGridPanel中包含一个可编辑的ComboBox表单。
对grid添加listerners:afteredit事件
却选择性触发afteredit事件。
我的combobox表单既可以填入新值,也可以从下拉列表中选择。
当我从下拉列表中选择值的时候,afteredit会触发;
而填入新值的时候,却不会触发,不知道什么原因!
相关代码如下:
var grid = new Ext.grid.EditorGridPanel({
renderTo:'grid',
ds: store,
columns: [
{header: "列1", dataIndex: 'id'},
{header: "列2", dataIndex: 'name',editor:name_edit},
],
listeners:{
afteredit:function(e){
if(e.field == 'name'){
alert("changed");
}
}
var name_edit = new Ext.form.ComboBox({
typeAhead:true,
triggerAction:'all',
minChars: 2,
mode:'remote',
store:store,
resizable:true,
handleHeight:5
});
------解决方案--------------------
combo在editgrid下 从下拉列表中选择 是正常的
至於你說的combobox表单既可以填入新值
其實是用你輸入的內容來匹配combo的內容
所以你輸入內容後沒有選擇combo匹配的內容
combo對應的cell的value并沒有改變
so 不會觸發afteredit的吧
------解决方案--------------------
在combox自己写入的值,相当于BAIDU那个自动补全搜索来使用的,当然这个功能还需要在后台实现!你在combox中输入新值,而store中不存在这个值,那就相当于combox当前值根本没有改变!
在combox中输入新值,更多用于用简码获取想要的匹配值吧