Ag grid 如何使用ag grid在前端更快地加载4000条记录
im使用ag grid rowmodeltype是企业级(服务器端),因为如果我加载所有记录,api响应几乎需要2-3分钟,所以使用服务器端分页Ag grid 如何使用ag grid在前端更快地加载4000条记录,ag-grid,Ag Grid,im使用ag grid rowmodeltype是企业级(服务器端),因为如果我加载所有记录,api响应几乎需要2-3分钟,所以使用服务器端分页 列标签分组ag网格没有提供任何后端示例来处理该问题 如果我们在客户端加载所有记录,那么ag网格的所有功能都可以正常工作,那么是否有任何方法可以更快地加载记录—大约10mb大小的数据,包含30列和40000条记录 大多数瓶颈发生在后端(数据库检索)。 为了减少缓慢的影响,你可以采用我使用的这个方法 增强后端api以支持服务器端分页调用 重构加载ajax调
大多数瓶颈发生在后端(数据库检索)。 为了减少缓慢的影响,你可以采用我使用的这个方法
var myList = [];
var loadDataFunc = function( start, limit ) {
_self.Status.IsLoading = true;
$http
.get( DataUrl + "?start=" + start + "&limit=" + limit)
.then(function(response){
if( response && response.data && response.data.List) {
if( response.data.Total > 0 ) {
for( var z = 0; z < response.data.List.length; z++ ) {
myList.push(response.data.List[z]);
}
var currentItemsLoaded = start + response.data.List.length;
if( currentItemsLoaded < response.data.Total ) {
//means we still have pending to load, then we load again!
setTimeout(function(){
loadDataFunc(currentItemsLoaded, limit);
}, 500);
}else {
//If it reaches here, it means we have completed loading
_self.Status.IsLoading = false;
_self.Status.IsLoaded = true;
}
BindDataToGrid();
} else {
_self.Status.IsLoading = false;
_self.Status.IsLoaded = true;
if( start === 0 ) {
BindDataToGrid();
}
}
}
else {
_self.Status.IsLoading = false;
_self.Status.IsLoaded = true;
}
})
.catch(function(response){
_self.Status.IsLoading = false;
//error!
});
};
function BindDataToGrid () {
setTimeout(function(){
grid.api.setRowData(myList);
},100);
};
var myList=[];
var loadDataFunc=函数(开始、限制){
_self.Status.IsLoading=true;
$http
.get(DataUrl+“?start=“+start+”&limit=“+limit”)
.然后(功能(响应){
if(response&&response.data&&response.data.List){
如果(response.data.Total>0){
对于(var z=0;z