我需要在LiveGride中显示大约500行.My函数大约需要6分钟 重新调整Json Array.Grid显示加载大约2分钟然后停止。 当我使用调试模式解决时,网格首先失败,但该函数仍在运行并返回最后一次。
该程序正常运行,数据较少
var Grid = new Ext.ux.grid.livegrid.EditorGridPanel
({
title: 'Report Details',
id: 'GridId',
ds: Store,
cm: CM,
view: new Ext.ux.grid.livegrid.GridView({
nearLimit: 3,
loadMask: {
msg: 'Loading Records PleaseWait.....!'
},
emptyText: 'No Records Found'
}),
stripeRows: true,
border: true,
width: screen.width - 90,
height: 340,
loadMask: {
msg: ' Loading Records Please Wait......!'
},
clicksToEdit: 1,
plugins: filters,
selModel: new Ext.ux.grid.livegrid.RowSelectionModel(),
});
答案 0 :(得分:1)
我应用了Ext.data.HttpProxy.doRequest函数的覆盖来接受来自Store.load(params)和存储创建的超时属性。
Ext.override(Ext.data.HttpProxy, {
doRequest: function (action, rs, params, reader, cb, scope, arg) {
var timeout = 30000;
if (scope.timeout > 0) timeout = scope.timeout;
if (arg.timeout > 0) timeout = arg.timeout;
var o = {
method: (this.api[action]) ? this.api[action]['method'] : undefined,
request: {
callback: cb,
scope: scope,
arg: arg
},
reader: reader,
callback: this.createCallback(action, rs),
scope: this,
timeout: timeout
};
// If possible, transmit data using jsonData || xmlData on Ext.Ajax.request (An installed DataWriter would have written it there.).
// Use std HTTP params otherwise.
if (params.jsonData) {
o.jsonData = params.jsonData;
} else if (params.xmlData) {
o.xmlData = params.xmlData;
} else {
o.params = params || {};
}
// Set the connection url. If this.conn.url is not null here,
// the user must have overridden the url during a beforewrite/beforeload event-handler.
// this.conn.url is nullified after each request.
this.conn.url = this.buildUrl(action, rs);
if (this.useAjax) {
Ext.applyIf(o, this.conn);
// If a currently running read request is found, abort it
if (action == Ext.data.Api.actions.read && this.activeRequest[action]) {
Ext.Ajax.abort(this.activeRequest[action]);
}
this.activeRequest[action] = Ext.Ajax.request(o);
} else {
this.conn.request(o);
}
// request is sent, nullify the connection url in preparation for the next request
this.conn.url = null;
}
});