是这样的,因为程序需要现在有一个store,代码如下
//项目环节列表
var lsm = new Ext.grid.CheckboxSelectionModel({handelMouseDown:Ext.emptyFn});//必须每个列表的都不一样
var lcmt = new Ext.grid.ColumnModel([lsm,
{header:"编号",dataIndex:"link_id",width:50},
{header:"时间",dataIndex:"link_time",width:200},
{header:"项目环节",dataIndex:"link",width:150},
{header:"项目状态",dataIndex:"link_state",width:120},
{header:"操作人",dataIndex:"link_person",width:100},
{header:"描述",dataIndex:"link_description",width:120},
{header:"项目id",dataIndex:"project_id",hidden:true}
]);
var proxy = new Ext.data.HttpProxy({url:"/project/link/Cjy_findAll.do?pid="+pid+""});
ldst = new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:"/project/link/Cjy_findAll.do?pid="+pid+""}),
reader:new Ext.data.JsonReader({totalProperty:'pageCount',root:'llist'},
[
{name:"link_id"},
{name:"project_id"},
{name:"link_time"},
{name:"link"},
{name:"link_state"},
{name:"link_person"},
{name:"link_description"}
])
});
ldst.load({params:{start:0}});
pid是从上面传值过来的,然后又一个gridpanel去接受这个store,代码如下
//项目环节gridpanel开始
var lgridpanel=new Ext.grid.GridPanel({
frame:true,
stripeRows:true,//True表示使用不同颜色间隔行
xtype:'grid',
        bodyStyle:'width:100%',       
        autoWidth:true,
        width:Ext.get('lgridpanel').getWidth(),
        height:Ext.get('lgridpanel').getHeight(), 
        id:'lgrid',
        loadMask:true,
        store:ldst,
        sm:lsm,
        cm:lcmt,
        bbar:new Ext.PagingToolbar({
pageSize:100,
store:ldst,
displayInfo:true,
displayMsg:'显示第{0}条到第{1}条数据,共{2}条',
emptyMsg:"没有您要查找的数据"
}),
tbarStyle:'text-align:left;',
  tbar:[{
        id:'ladd',
        text:'新增',
        iconCls:'toolbar_add',
        handler:ladd //下面JS方法的名字
      },'-',{
      id:'lupdate',
      text:'修改',
      iconCls:'toolbar_edit',
      handler:lupdate
      }
      ]
});
lgridpanel.render("lgridpanel");
//项目环节gridpanel结束
就是这遇到问题了,如果pid改变,那么store内的值就会改变,后台向前台传值没问题,但是gridpanel显示有问题
用火狐测试,pid=2时显示的值,完全没问题当pid=1时
grid还是这样没有变化求解决方法....extjs3.2版本的Ext JSjavascript

解决方案 »

  1.   

    楼主,你这问题应该好解决的,一步步来吧,先看看你当前store里是否的确有你要的数据。
    先 在gridpanel里监听下store的状态。,
    listeners: {
     'render':function(g){
    alert(g.getStore().getCount()); //检查当前store里的数据先,看看条数是否正确。
      g.getStore().reload();
      }
    }
      

  2.   

    唉...问题解决了...因为我把store new了两边所以才不能用的...