用什么方法实现刷新按钮,静态demo原型,不用服务器交互,具体看图
[color=red]1.开始效果[/color]
[img]http://dl.iteye.com/upload/attachment/479911/ab52a364-f685-3e92-8582-6d9adbd4fd78.png[/img]
[color=red]2.单击查询,查询后的效果[/color]
[img]http://dl.iteye.com/upload/attachment/479913/07b33899-edb9-3abc-9e89-d8d386f7aa1d.png[/img]
问题是:我点击刷新,刷出第一幅图的效果
Ext.onReady(function() {
var sm = new Ext.grid.CheckboxSelectionModel({singleSelect:false})
var cm = new Ext.grid.ColumnModel({
columns : [sm,{
header : 'ID',
dataIndex : 'id',
hidden : true
}, {
header : '所属地市',
dataIndex : 'ds'
}, {
header : '所属BSC',
dataIndex : 'bsc'
}, {
header : 'BTS名称',
dataIndex : 'bts'
}]
});
var data = [[1,'sdf','sf','sdf'],[2,'sdf','sf','sdf'],[3,'sdf','sf','sdf']];
var store = new Ext.data.Store({
proxy : new Ext.data.MemoryProxy(data),
autoLoad : true,
reader : new Ext.data.ArrayReader({}, [{
name : 'id'
}, {
name : 'ds'
}, {
name : 'bsc'
}, {
name : 'bts'
}])
});
var grid = new Ext.grid.GridPanel({
layout : 'fit',
region:'center',
border : false,
viewConfig : {
forceFit : true
},
cm : cm,
sm:sm,
ds : store,
tbar:new Ext.Toolbar([{
text:'Delete',
handler:function(){
grid.getStore().remove(grid.getSelectionModel().getSelected());
}
},{
text:'refresh',
handler:function(){
grid.getStore().reload();
}
}
]),
bbar : new Ext.PagingToolbar({
pageSize : 10,
store : store,
displayInfo : true,
displayMsg : '当前第{0}-{1}条,共{2}条',
emptyMsg : '暂无记录'
})
});
var view = new Ext.Viewport({
layout:'border',
items:[grid]
})
})
你运行这段代码 使用了reload()方法 完全没有问题
tbar:new Ext.Toolbar([{
text:'Delete',
handler:function(){
grid.getStore().remove(grid.getSelectionModel().getSelected());
}
},{
text:'refresh',
handler:function(){
grid.getStore().reload();
}
}
])
你是想刷新整个页面?还是只是表格里的内容 ?
如果是表格里的内容的话,那就是store.reload();
整个页面,那就是平时JAVASCRIPT的刷新方式 了
gridPanel.getStore().reload()
有点没明白你的意思 你是要回到最初的状态吗
reload ( Object options ) : void
使用配置的 Reader 和上次执行加载操作的选项...
使用配置的 Reader 和上次执行加载操作的选项 从配置的Proxy重新加载数据缓存。
注意: 参见 load 中的重要注释。
参数:
options : Object
(可选) 一个包含了 加载选项 的对象,它可能会覆盖最后一次 load 使用的options。 详情 参见 load(默认为 null,在这种情况下将使用 lastOptions)。
向现有参数中添加新参数:
lastOptions = myStore.lastOptions;
Ext.apply(lastOptions.params, {
myNewParam: true
});
myStore.reload(lastOptions);
返回值:
void
使用SimpleStroe 或者Store是可以从本地加载数据的
Ext的api里面重新加载数据有很多例子 你可以看看那里面的源码
本地的就是loadData(data);
var myData = [
[1, 'Fred Flintstone', 'Fred'], // note that id for the record is the first element
[2, 'Barney Rubble', 'Barney']
];
myStore.loadData(myData);
如果做DEMO你可以在本地做几个数组,用store.loadData()来load不同的数组来模拟
楼主那里只有一组数据 查询后回到最初的页面 reload()数据 完全没有问题 不知道为什么他说那里报异常 :?