Если у меня 1000 строк с 10-30 столбцами, это прекрасно работает, , но если у меня есть 10 строк с 200 + столбцами, рендеринг занимает от 2 до 3 минут.Более 100 столбцов с рендерингом 10 строк очень худшие в ui-сетке
Через некоторое время данные не видны при горизонтальной прокрутке. В конце концов, страница перестает отвечать на запросы.
Код здесь:
$http.post($scope.url + "/getPagingRecordImportedTable", {
dbname : $stateParams.dbname,
tableName : tablename,
pageNumber : 1
}).success(function(response) {
$scope.names = response.records;
$scope.mdata = response.metadata;
$scope.gridOptions.data = response.records;
var columnsize = 0;
for (var obj in $scope.mdata) {
if ($scope.mdata[obj]['columnsize'] > 20) {
columnsize = 20;
} else {
columnsize = $scope.mdata[obj]['columnsize'];
}
$scope.columns.push({
field : $scope.mdata[obj]['columnname'],
width : columnsize
});
}
console.log("-----------Data received");
})
После обжига запроса HTTP журнал -------------Data received
немедленно печатаются, но рендеринг данных занимает слишком много времени.
Как улучшить производительность? Или есть ли какой-либо другой API для огромных строк и 200 + столбцов ?!
Paginate. Если вы хотите, чтобы пользователь испытывал «бесшовную» загрузку, тогда реализуйте ajax, чтобы скрыть разбиение на страницы; данные загружаются как пользовательские свитки. – Marvin
Если вам нужно отобразить много строк без подкачки, я предлагаю вам использовать тайм-аут для рендеринга x строк за раз. И не использовать угловые для этого. Но пейджинг - это, безусловно, лучший ответ ... – n00dl3