ext的GridPanel问题请教

jay_jian 2010-12-20 04:11:42
var ds = new Ext.data.Store({
proxy: new Ext.data.MemoryProxy(mydata),
reader: new Ext.data.ArrayReader(....)
})
var cm= new Ext.grid.ColumnModel(.....)

var mytable=new Ext.grid.GridPanel({
ds: ds,
cm: cm,
margins: '0 0 0 0',
height: 150
});

要怎么刷新mytable的数据啊,我目前的刷新思路是,修改mydata变量值,然后执行ds.load(),可是没反应啊。。
高手请指点啊。
...全文
100 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
jay_jian 2010-12-21
  • 打赏
  • 举报
回复
死活不行啊,能不能给个测证过的例子啊
licip 2010-12-21
  • 打赏
  • 举报
回复
ds.reload();

是这个了,没错的
jay_jian 2010-12-21
  • 打赏
  • 举报
回复
不行啊,能不能说清楚一点啊,以上各位的方法我都试过了
jay_jian 2010-12-21
  • 打赏
  • 举报
回复
实在搞不定,改JsonReader方式了,谢谢各位
jay_jian 2010-12-21
  • 打赏
  • 举报
回复
是后台获取的,接着我把mydata变量的值修改,然后试过下面的方法都不行,没有反应
ds.load()或ds.reload()或getStore().load()或getStore().reload();
didiaodezhu 2010-12-21
  • 打赏
  • 举报
回复
new Ext.data.MemoryProxy
貌似这个是处理静态数据的

你的数据源是静态的还是通过后台取得的?
jay_jian 2010-12-21
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 didiaodezhu 的回复:]
估计是你的store有很多属性都不一样
参考下我的store 含分页的
//定义数据存储器store
store1 = new Ext.data.Store({
proxy: new Ext.data.HttpProxy //定义读取数据的接口
({
url: xxxx
}),
reader: new Ext.data.JsonReader //读取的……
[/Quote]

-----------------
你这种代理方式,我试过是可以的,问题是换成这种就不行了啊,你可以试一下吗
proxy: new Ext.data.MemoryProxy(mydata),
didiaodezhu 2010-12-21
  • 打赏
  • 举报
回复
store1.load({
params: {
start: 0,
limit: 14
}
});
didiaodezhu 2010-12-21
  • 打赏
  • 举报
回复
估计是你的store有很多属性都不一样
参考下我的store 含分页的
//定义数据存储器store
store1 = new Ext.data.Store({
proxy: new Ext.data.HttpProxy //定义读取数据的接口
({
url: xxxx
}),
reader: new Ext.data.JsonReader //读取的后台数据存储到记录集results
({
root: 'results',
totalProperty: 'totalCount'
}, ["id", "name"])
}); //end store

leehuat 2010-12-20
  • 打赏
  • 举报
回复

ds.reload();
jay_jian 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lfkcn 的回复:]
你在mystore中要加一个store啊
ds: ds,
改成
store: ds,

试试
[/Quote]
-----------
不行啊
jcjunjin 2010-12-20
  • 打赏
  • 举报
回复
增加store:store
dataminer_2007 2010-12-20
  • 打赏
  • 举报
回复

onSearch : function() {
var _staffid = "xxx";
var _loginname = "xxxxx";
this.getStore().baseParams = {
staffid : _staffid,
loginname : _loginname
};

this.getStore().load({});
}
flyerwing 2010-12-20
  • 打赏
  • 举报
回复
ds.load();
不行吗
lfkcn 2010-12-20
  • 打赏
  • 举报
回复
你在mystore中要加一个store啊
ds: ds,
改成
store: ds,

试试

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧