您的位置:首页 > Web前端 > JavaScript

通过JS修改Gridpanel中的前台显示(Extjs)

2011-10-26 10:18 232 查看
昨晚和刚才一直在做这样一个需求:

页面上点击一个按钮,然后弹出一个窗口。在窗口中点击一个按钮,窗口关闭,并刷新父页面的gridpanel中的特定值。。。

关于这个取到gridpanel的事,我可花了大笔的时间,原因我稍后再写,先把对gridpanel的操作写出来再说:

1.遍历gridpanel中的元素:

var grid = .....;

var store = grid.store;

var rowCount = store.getCount(); //记录数

var cm = grid.getColumnModel();

var colCount = cm.getColumnCount(); //列数

var view = grid.getView();

for(var i=0;i<rowCount;i++){

for(var j=0;j<colCount;j++){

var cell = view.getCell(i,j);

alert(cell.innerHTML);//第i行j列的数据

}

}

2.取得某cell的值

grid.getStore().getAt(i).get(colname)

3.对某cell进行修改(只是前台修改,而不是刷新页面哈)

<script type="text/javascript">

////拿到父页面中的gridpanel之后:

var rowCount = vehiclePassInfoGrid.getStore().getCount(); //记录数

var colname = vehiclePassInfoGrid.getColumnModel().getDataIndex(13);

for(var i=0;i<rowCount;i++)

{

if(vehiclePassInfoGrid.getStore().getAt(i).get(colname) == "未处理")

{

vehiclePassInfoGrid.getStore().getAt(i).set(colname, '<div><font color="red">已处理</font></div>');

}

}

alert('处理成功');

self.close();

</script>

搞定。。。哦耶。。。

ps:

1.得到行对象

var mygrid = Ext.GridPanel({....});

var total = mygrid.getStrore().getCount();//数据行数

for(var i=0;i<total;i++){

alert(grid.getView().getRow(i))//每行对象

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: