ExtJS - 在运行时向网格单元格显示加载gif

时间:2014-04-26 15:40:51

标签: extjs extjs4.2 extjs-mvc

我有一个带有一些记录的grid.Panel,当选择一条记录时,工具栏中的一个按钮被启用,所以我可以在服务器端启动一个“长时间运行的进程”,所以我需要在单元格中显示( row)a加载图标。

首先,我将显示一个 Messagebox ,它会说“正在初始化...”,在该阶段,服务器会将任务记录在队列中,以便Windows服务可以在以后捕获。当服务器返回“成功”时,我隐藏了消息框,但现在加载图标应该可见,直到长时间运行过程结束(可能在2小时后)。

此按钮标签为“Start Process”。

点击按钮,我有以下代码:

onButtonClickProcess: function (button, e, options) {
        console.log('start process');
        Ext.MessageBox.show({
            title: 'Please wait',
            msg: '...',
            progressText: 'Initializing...',
            width: 300,
            progress: true,
            closable: false,
            wait: true,
            waitConfig: { interval: 200 }
        });
        var row = this.getGrid().getSelectionModel().getSelection()[0];
        Ext.Ajax.request({
            url: '/api/TimeSheet/QueueTask',
            method: 'GET',
            params : {
                "timesheetId" : row.get("TimesheetImportId")
            },
            success: function (response, opts)
            {
                Ext.MessageBox.hide();

                // TODO:
                // Here I have to show the loading icon into my row cell ??

            },
            failure: function (response, opts)
            {
                Ext.MessageBox.hide();
            }
        })
    },

有关如何做到这一点的任何线索?

1 个答案:

答案 0 :(得分:0)

使用它:

var row = Ext.fly(grid.getView().getNode(rowIndex));
var cell = row.down('td:nth-child(' + colIndex + ') .x-grid-cell-inner');
cell.setHTML(value);

没有框架功能。