swh19840329
2010-05-19 16:03
浏览 300
已采纳

extjs gridpael 重新加载问题

我想实现这样一个功能: 有一个表单和一个grid

表单,主要是一些查询条件
grid 用来显示查询的结果,
当页面第一次加载的时候grid里面可以显示所有数据,
当我在表单中输入了查询条件提交以后,grid中显示新的数据

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • chem_zqm 2010-05-19 16:37
    已采纳

    如果需要分页,吧handler改成如下形式:
    [code="js"]
    handler:function(){//按钮点击时让store重新加载
    var data = form.getForm().getValues();//这里取到的是形如{foo:123,bar:'aaa'}这样的对象直接量(literal object)
    //store.load({params:data});//将编码后的数据传送到后台进行查询,store加载完成后grid会自动刷新(grid对象对于store的load事件进行了绑定)
    var pageSize = 10;//每页显示记录数
    store.baseParams = data;
    store.load(params:{start:0,limit:pageSize});
    }
    [/code]

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • works001 2010-05-19 16:17
    评论
    解决 无用
    打赏 举报
  • chem_zqm 2010-05-19 16:31

    [code="js"]var store=new Ext.data.JsonStore({
    ....//注意 url root fields属性一般都是必须的
    });//创建Store对象
    store.load();//让Store到后台加载数据

    var grid=new Ext.grid.GridPanel({
    store:store//设置grid的store为上面的store
    ...
    });

    var form=new Ext.form.FormPanel({
    ....
    buttons[{
    text:'查询',
    handler:function(){//按钮点击时让store重新加载
    var data = form.getForm().getValues();//这里取到的是形如{foo:123,bar:'aaa'}这样的对象直接量(literal object)
    store.load({params:data});//将编码后的数据传送到后台进行查询,store加载完成后grid会自动刷新(grid对象对于store的load事件进行了绑定)
    }
    }]
    })[/code]
    核心部分 照着这个思路写就是了

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题