从存储分页内存中删除记录后刷新Extjs网格
我有ExtJS网格。当我从网格中删除记录时,它将从页面中删除。但是,当我执行next/prev时,数据会再次显示。 删除记录后,工具栏也不会显示正确的统计信息 你能帮忙吗从存储分页内存中删除记录后刷新Extjs网格,extjs,grid,refresh,Extjs,Grid,Refresh,我有ExtJS网格。当我从网格中删除记录时,它将从页面中删除。但是,当我执行next/prev时,数据会再次显示。 删除记录后,工具栏也不会显示正确的统计信息 你能帮忙吗 <script type="text/javascript" src="/extjs-4.0.7/ext-all.js"></script> <script type="text/javascript" src="/extjs-4.0.7/examples/ux/data/PagingMemory
<script type="text/javascript" src="/extjs-4.0.7/ext-all.js"></script>
<script type="text/javascript" src="/extjs-4.0.7/examples/ux/data/PagingMemoryProxy.js"></script>
<link rel="stylesh`enter code here`eet" type="text/css" href="/extjs-4.0.7/resources/css/ext-all.css" />
<script>
var selectedRecord = null;
function getRecord() {
return selectedRecord;
}
var data = '{"user":[sample date for the grid]}';
var workitemList = "";
var selectedItems = new Array();
Ext.onReady(function() {
Ext.QuickTips.init();
Ext.tip.QuickTipManager.init();
Ext.define('Model', {
extend: 'Ext.data.Model',
fields: [{
name: 'WORKITEMID',
mapping: 'WORKITEMID'
},
{
name: 'ALERTID',
mapping: 'ALERTID'
},
]
});
var storeMain = Ext.create('Ext.data.Store', {
model: 'Model',
autoLoad: false,
buffered: false,
pageSize: 5,
data: [],
proxy: {
type: 'pagingmemory',
reader: {
type: 'json',
root: 'user'
}
},
remoteSort: true,
remoteFilter: true,
remoteGroup: true
});
var sm = Ext.create('Ext.selection.CheckboxModel', {
listeners: {
selectionchange: function(sm, selections) {
selectedItems = selections;
}
}
});
var myGrid = new Ext.grid.Panel({
title: 'Unassign Alerts',
collapsible: false,
border: true,
loadMask: true,
frame: false,
id: 'myGridId',
columnLines: true,
animCollapse: false,
loadMask: true,
stripeRows: true,
renderTo: Ext.getBody(),
store: storeMain,
selModel: sm,
columns: [
{
text: 'Alert ID',
dataIndex: 'WORKITEMID',
flex: 8 / 100
}
],
listeners: {
'afterrender': function(e) {
var gridthWidth = this.getWidth();
this.setWidth(gridthWidth);
this.setAutoScroll(true);
},
'columnresize': function(e) {
var gridthWidth = this.getWidth();
this.setWidth(gridthWidth);
this.setAutoScroll(true);
},
cellclick: function(iView, iCellEl, iColIdx, iRecord, iRowEl, iRowIdx, iEvent) {
if (iColIdx == 1) {
selectedRecord = iRecord;
}
},
render: function(e) {
this.store.getProxy().data = Ext.decode(data);
//this.store.pageSize =25;
this.store.load();
this.store.on('load', function() {
//myMask.hide();
});
e.style = " background-color: #003464;";
}
},
bbar: new Ext.PagingToolbar({
store: storeMain,
id: 'Ptoolbar',
pageSize: 5,
displayInfo: true,
height: 25,
//plugins: Ext.create('Ext.ux.ProgressBarPager', {}),
displayMsg: 'Displaying Records {0} - {1} of {2}',
emptyMsg: "No records to display",
listeners: {
afterrender: function() {
this.child('#refresh').hide();
}
},
buttons: [{
id: 'btnID',
itemId: 'saveBtn',
pressed: true,
frame: true,
text: 'Remove',
handler: function(store) {
if (selectedItems.length > 0) {
store.remove(selectedItems);
Ext.getCmp('clientSummaryGridId').getView().refresh();
} else {
Ext.Msg.alert("Result", "No selection");
}
}
}]
})
});
});
</script>
var selectedRecord=null;
函数getRecord(){
返回selectedRecord;
}
变量数据=“{”用户“:[网格的样本日期]}”;
var workitemList=“”;
var selectedItems=新数组();
Ext.onReady(函数(){
Ext.QuickTips.init();
Ext.tip.QuickTipManager.init();
Ext.define('模型'{
扩展:“Ext.data.Model”,
字段:[{
名称:“工作项ID”,
映射:“WORKITEMID”
},
{
名称:“ALERTID”,
映射:“ALERTID”
},
]
});
var storeMain=Ext.create('Ext.data.Store'{
模型:“模型”,
自动加载:false,
缓冲区:false,
页面大小:5,
数据:[],
代理:{
键入:“分页内存”,
读者:{
键入:“json”,
root:'用户'
}
},
remoteSort:是的,
remoteFilter:true,
远程组:true
});
var sm=Ext.create('Ext.selection.CheckboxModel'{
听众:{
选择更改:功能(sm,选择){
selectedItems=选择;
}
}
});
var myGrid=new Ext.grid.Panel({
标题:“取消分配警报”,
可折叠:错误,
边界:是的,
loadMask:是的,
帧:假,
id:'myGridId',
专栏:没错,
答案:错,
loadMask:是的,
是的,
renderTo:Ext.getBody(),
商店:店主,
型号:sm,
列:[
{
文本:“警报ID”,
dataIndex:'WORKITEMID',
弹性:8/100
}
],
听众:{
“afterrender”:函数(e){
var gridthWidth=this.getWidth();
这个.setWidth(gridthWidth);
此参数为.setAutoScroll(true);
},
“columnresize”:函数(e){
var gridthWidth=this.getWidth();
这个.setWidth(gridthWidth);
此参数为.setAutoScroll(true);
},
cellclick:函数(iView、iCellEl、iClidX、iRecord、iRowEl、iRowIdx、iEvent){
如果(IclidX==1){
selectedRecord=i记录;
}
},
呈现:函数(e){
this.store.getProxy().data=Ext.decode(数据);
//this.store.pageSize=25;
this.store.load();
this.store.on('load',function()){
//myMask.hide();
});
e、 style=“背景色:#003464;”;
}
},
bbar:新的Ext.PagingToolbar({
商店:店主,
id:'Ptoolbar',
页面大小:5,
displayInfo:true,
身高:25,
//插件:Ext.create('Ext.ux.ProgressBarPager',{}),
displayMsg:'显示{2}的记录{0}-{1},',
emptyMsg:“没有要显示的记录”,
听众:{
afterrender:function(){
this.child(“#refresh”).hide();
}
},
按钮:[{
id:'btnID',
itemId:'saveBtn',
答:对,,
框架:对,
文本:“删除”,
处理程序:函数(存储){
如果(selectedItems.length>0){
存储。删除(选择编辑项);
Ext.getCmp('clientSummaryGridId').getView().refresh();
}否则{
Ext.Msg.alert(“结果”,“无选择”);
}
}
}]
})
});
});
如果
不工作你也可以试试
Ext.getCmp('myGrid').reconfigure(gridstore);
因此,无论何时从网格中删除记录,您都可以使用此语句。Ext.getCmp('myGrid').getView().refresh()在实际代码中,您使用的是带有远程api的存储,或者是从静态文件加载数据?IMO相关:,请尝试我们的PagingToolbar.onLoad();
Ext.getCmp('myGrid').reconfigure(gridstore);