首先增加一条数据,然后alert(categoryStore.getModifiedRecords());//结果是'' 空
var data = {'categoryName':newCategory};
var record = new categoryStore.recordType(data);
categoryStore.insert(index,record);
------------------------------------------------------------
然后修改store的数据
categoryStore.getAt(index).set('categoryName',text);
alert(categoryStore.getModifiedRecords().length);//有长度,不为空了
------------------------------------------------------------
最后删除一条记录 再alert下长度还是原来的长度不变
categoryStore.remove(categoryStore.getAt(categoryId));
------------------------------------------------------------
问题:getModifiedRecords 在api上不是说(不包括被删除的记录),为什么我删除条记录后长度还是一样、
还有store新增的数据也不再getModifiedRecords的范围内?
var data = {'categoryName':newCategory};
var record = new categoryStore.recordType(data);
categoryStore.insert(index,record);
------------------------------------------------------------
然后修改store的数据
categoryStore.getAt(index).set('categoryName',text);
alert(categoryStore.getModifiedRecords().length);//有长度,不为空了
------------------------------------------------------------
最后删除一条记录 再alert下长度还是原来的长度不变
categoryStore.remove(categoryStore.getAt(categoryId));
------------------------------------------------------------
问题:getModifiedRecords 在api上不是说(不包括被删除的记录),为什么我删除条记录后长度还是一样、
还有store新增的数据也不再getModifiedRecords的范围内?
解决方案 »
- ext的 js错误 this.ownCt.forceLayout 为空或不是对象
- 绘图
- 随便提交什么验证都通过啊!这个页面的Javascript正则表达式要怎么写呢?高手帮忙啊!谢谢啦!!!!
- 超链接点击后链接本页 但显示超链接的文字改变
- 还是js对象引用的问题.在线等.
- 十万火急,为什么我table中的每行<TR>向上面对齐对不齐呢?
- 如何实现在多帧之间鼠标拖动div层?
- 如何用javascript取得字符的ASC码?
- 怎样写一个函数判断一个字符串的字符全是数字?
- Vue项目如何解决yarn无法install的问题
- 请问下面JS文件里+href+的值是哪里获得的,我想替换里面的字符
- 请教 javascript
具体情况请看api,我也是查看源码才知道,如果不设置这个属性modifyRecords将不根据我们的意愿工作。
getModifiedRecords才有效果,删除,新增都没效果 :(
贴个源码给你看看
//removeAt 源码
removeAt : function(index){
this.remove(this.getAt(index));
},
//removeAt调用remove
remove : function(record){
if(Ext.isArray(record)){
Ext.each(record, function(r){
this.remove(r);
}, this);
return;
}
var index = this.data.indexOf(record);
if(index > -1){
record.join(null);
this.data.removeAt(index);
}
if(this.pruneModifiedRecords){
this.modified.remove(record);
}
if(this.snapshot){
this.snapshot.remove(record);
}
if(index > -1){
this.fireEvent('remove', this, record, index);
}
},
categoryStore = new Ext.data.JsonStore({
url:'../main/article!findCategory.action',
root:'acList',
fields:[{
name:'categoryName',
mapping:'name'
}]
});
----------------------------------------------------------------
//删除的方法
function removeCategory(categoryId){
categoryStore.remove(categoryStore.getAt(categoryId));
doLayOut();
alert(categoryStore.getModifiedRecords());//还是''
}
是这样的,remove一个record,在ModifiedRecord里面也会把它删除。
新增和修改的record在modifiedRecord里面有记录,删除的数据没有。建议用一个全局变量记录下删除的record的id,然后提交到服务器处理。