extjs如何实现表格某一列的定时刷新

无啦 发布于 2013/08/22 10:42
阅读 1K+
收藏 1

前台显示:

//创建一个表格

    Ext.create('Ext.grid.Panel', {
        title: 'Ipsec配置信息',
        renderTo:Ext.getBody(),
        tbar:[
                {xtype:'button', text:'新建配置信息', border:1, handler:newFn},
                {xtype:'button', text:'保存配置文件', border:1, handler:saveFn}
            ],
        //定义表格包含的列
        columns: [
            {
                    text: '操作',
                    xtype: 'actioncolumn',
                    width: 50,
                    items: [
                            {
                                icon:'edit.gif',
                                tooltip: '编辑',
                                handler: editFn
                            },
                            {
                                icon:'delete.gif',
                                tooltip:'删除',
                                handler: deleteFn
                            },
                            {
                                icon:'conn.gif',
                                tooltip: '连接',
                                handler: connFn
                            },
                            {
                                icon:'noconn.gif',
                                tooltip: '断开',
                                handler: noConnFn
                            }
                    ]
            },
            {text:'状态', dataIndex:'connType'},
            {text:'连接名称', dataIndex:'connName'},
            {text:'IP协议', dataIndex:'connAddrFamily'},

          {text:'认证方式', dataIndex:'authBy'},

         ],
        store:ipsecConfigStore

       });

后台设置:

                //判断连接状态并决定要显示哪一种状态图片
                if(ipsd.findStatusOne(ipsecModel.getConnName())) {    
                    ipsecModel.setConnType("<img src=" + "running.gif" + " />");
                } else {    
                    ipsecModel.setConnType("<img src=" + "closed.gif" + " />");
                }


基于我的代码如何实现extjs中状态列的定时刷新,求大神帮忙。最好有代码,谢谢。

加载中
0
lxbzmy
lxbzmy
更新store,grid就变了。
0
工作流流流流流
工作流流流流流

就只是利用setInterval(function(){ipsecConfigStore.removeAll();ipsecConfigStore.reload();},设置时间);

这个是循环调用的也可以使用setTimeOut()

无啦
无啦
单列的刷新暂进放下了,时间不够,上面的代码是能够刷新整个页面的。最好将removeAll去掉,要不然页面会有很大的闪动。还是非常感谢。
0
无啦
无啦

Ext.onReady(function() {

var ipsecConfigStore = Ext.create('Ext.data.Store',{
        model:'IpsecConfigModel',
        proxy: {
            type:'ajax',
            url:'getIpsecConfigItems',
            reader: {
                type:'json',
                root:'data'
            },
        },
        autoLoad:true
    });

来的js代码,

如果将上面的代码写到这里,filebug会提示missing:after property id,并且页面会不出现,

})

如果将上面代码写到外面,那如何获取到ipseconConfigStore呢,并且如果数据多的话,刷新整个页面显示效率低下,只想刷新状态显示一列。新手上路,多多指点。

0
工作流流流流流
工作流流流流流

去。。  不早说

刚刚我又浪费了一点时间写了一个例子

思路完全能够解决你的问题

如果页面数据太多刷新全部不理想的话

你可以实现ajax+动态修改列信息

记得给正确答案啊。

0
无啦
无啦
恩,时间充足的话,实现了刷新单列后将正确答案分享。呵呵,项目要的急,灰常感谢各位。
返回顶部
顶部