我有一个带有一些记录的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();
}
})
},
有关如何做到这一点的任何线索?
答案 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);
没有框架功能。