如何根据来自服务器的ajax调用在每个进程前显示进程完成图标?

时间:2014-12-04 13:01:00

标签: extjs

我有一个有手风琴的视图,在里面我有几个以网格结构命名的过程(p1,p2,p3) 我想在所有进程前面给出可点击的图标,具体取决于来自ajax调用(服务器)的结果。进程可以成功(应该以绿色条图标显示),正在进行中(以黄色条显示),失败(以红色条显示)。

我该怎么做?

如果代码段在那里会有帮助吗?

1 个答案:

答案 0 :(得分:3)

在网格中实现可点击图标的最简单方法是使用actioncolumn。您可以在这些列中定义多个按钮,这样您就可以定义所有3个按钮并隐藏它们。

列定义示例:

{
    xtype: 'actioncolumn',
    dataIndex: 'status',
    items: [
        {
            icon: 'url_to_success_icon',
            handler: function(grid, rowIndex, colIndex) {
                // do something
            },
            getClass: function(value) {
                return value == 'success' ? '' : 'x-hide-display';
            }
        },
        {
            icon: 'url_to_running_icon',
            handler: function(grid, rowIndex, colIndex) {
                // do something
            },
            getClass: function(value) {
                return value == 'running' ? '' : 'x-hide-display';
            }
        },
        {
            icon: 'url_to_failed_icon',
            handler: function(grid, rowIndex, colIndex) {
                // do something
            },
            getClass: function(value) {
                return value == 'failed' ? '' : 'x-hide-display';
            }
        }
    ]
}

工作样本:http://jsfiddle.net/kxq00ft5/1/