Extjs4 store记录有修改时 getUpdatedRecords() 没有记录返回 情况如下:。1、gird数据加载后,选择一条记录(假设ID=1)修改,修改成功2、grid 数据刷新3、1)选择在第1步选择的记录(ID=1)进行修改,getUpdatedRecords() 返回为空。 2)选择除第一次选择的记录(ID不等于1)时,getUpdatedRecords() 返回不为空比如1,2,3.1 getUpdatedRecords() 返回为空或1,2,3.2 getUpdatedRecords() 返回不为空extjs4gridstore 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 刷新grid,怎么刷新的,还有修改成功没有comit过吧 1、gird数据加载后,选择一条记录(假设ID=1)修改,修改成功2、grid 数据刷新(grid的store重新load) store reload后状态已经被重置了1,2,3.2 getUpdatedRecords() 返回不为空 ,这个应该也会是空数组才对。还是发代码来看看好点 Ext.define('Wenjoy.controller.product.ProductType', { extend: 'Ext.app.Controller', stores: [ 'product.ProductType' ], models: [ 'product.ProductType' ], views:["product.ProductTypeList","product.ProductTypeEdit","product.ProductTypeDetail"], refs: [ {ref:'appcenter', selector: '#appcenter'} ], onPanelRendered :function(panel){ var me=this; me.grid=panel; }, init: function(idstr) { var me = this, view = Ext.widget('producttypelistview',{id:idstr}), c = me .getAppcenter(); this.control({ 'producttypelistview': { render: me.onPanelRendered }, 'producttypelistview button[action=productType.update]':{ click:this.editProduct }, 'producttypeeditview button[action=save]':{ click:this.updateProduct } }); this.getProductProductTypeStore().addListener('write',this.finishedLoading, this); if (c != undefined) { c.add(view).show(); } }, getEditView:function(){ var me=this,view= Ext.widget("producttypeeditview"); return view; }, editProduct:function(grid, record) { var me = this, rs = me.grid.getSelectionModel().getSelection(); if (rs.length == 1) { rs = rs[0]; var win = me.getEditView(); /*win.setTitle("编辑菜单:" + rs.get("name"));*/ win.down('form').loadRecord(rs); win.show(); } else { Ext.Msg.alert("提示信息", "请选择一条记录进行编辑。"); } }, updateProduct:function(button) { var win = button.up('window'), form = win.down('form'), record = form.getRecord(), values = form.getValues(); form.updateRecord(record) if(record.dirty) { this.getProductProductTypeStore().update(); } else { Ext.Msg.alert("提示信息", "您没有对本数据做修改。"); } win.close(); }, finishedLoading:function(store, operation, eOpts ){ var json = Ext.decode(operation.response.responseText); if (operation.action=='create' || operation.action=='update' ) { store.load(); } Ext.example.msg('提示',json.msg); }}); 关于js获取freetextbox的值的问题 ExtJS分页问题,大侠们进来看下 我在numberfield中监听了blur事件 如何退出这样的循环体? 字体闪动问题 求教高手:多组复选框的问题,要命啊~~~~~~ 在线等 请教2个关于js的问题 如何取得表格的指定行 如何用javascript的write语句把表格显示在特定的位置(比如另一个大表格单元中) 急!急!100分奉送!模拟调用按钮的问题,java高手们能否解决这个问题。 请教网页特效的一个问题。 jquery UI中selectable,如何通过单击实现ctrl+单击的功能 这个为什么在iphon4s上点击页面无响应???
2、grid 数据刷新(grid的store重新load)
extend: 'Ext.app.Controller',
stores: [
'product.ProductType'
],
models: [
'product.ProductType'
],
views:["product.ProductTypeList","product.ProductTypeEdit","product.ProductTypeDetail"],
refs: [
{ref:'appcenter', selector: '#appcenter'}
],
onPanelRendered :function(panel){
var me=this;
me.grid=panel;
},
init: function(idstr) {
var me = this, view = Ext.widget('producttypelistview',{id:idstr}), c = me
.getAppcenter();
this.control({
'producttypelistview': {
render: me.onPanelRendered
},
'producttypelistview button[action=productType.update]':{
click:this.editProduct
},
'producttypeeditview button[action=save]':{
click:this.updateProduct
}
});
this.getProductProductTypeStore().addListener('write',this.finishedLoading, this);
if (c != undefined) {
c.add(view).show();
}
},
getEditView:function(){
var me=this,view= Ext.widget("producttypeeditview");
return view;
},
editProduct:function(grid, record) {
var me = this, rs = me.grid.getSelectionModel().getSelection();
if (rs.length == 1) {
rs = rs[0];
var win = me.getEditView();
/*win.setTitle("编辑菜单:" + rs.get("name"));*/
win.down('form').loadRecord(rs);
win.show();
} else {
Ext.Msg.alert("提示信息", "请选择一条记录进行编辑。");
}
},
updateProduct:function(button) {
var win = button.up('window'),
form = win.down('form'),
record = form.getRecord(),
values = form.getValues(); form.updateRecord(record)
if(record.dirty) {
this.getProductProductTypeStore().update();
} else {
Ext.Msg.alert("提示信息", "您没有对本数据做修改。");
}
win.close();
},
finishedLoading:function(store, operation, eOpts ){
var json = Ext.decode(operation.response.responseText);
if (operation.action=='create' || operation.action=='update' ) {
store.load();
}
Ext.example.msg('提示',json.msg);
}
});