From 5b65253349790db6dba4f95f59829484e5995f03 Mon Sep 17 00:00:00 2001 From: chandaniprajapati Date: Wed, 24 Feb 2021 14:26:47 +0530 Subject: [PATCH] react-datatable : Support for long lists (eg. if more thaa 5000 record in list) --- .../react-datatable/src/shared/service/SPService.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/samples/react-datatable/src/shared/service/SPService.ts b/samples/react-datatable/src/shared/service/SPService.ts index 8ee4c195e..69e62b05d 100644 --- a/samples/react-datatable/src/shared/service/SPService.ts +++ b/samples/react-datatable/src/shared/service/SPService.ts @@ -12,6 +12,8 @@ export class SPService { try { let selectQuery: any[] = ['Id']; let expandQuery: any[] = []; + let listItems = []; + let items: any; for (var i = 0; i < selectedFields.length; i++) { switch (selectedFields[i].fieldType) { case 'SP.FieldUser': @@ -28,9 +30,16 @@ export class SPService { break; } } - let listItems: any[] = await sp.web.lists.getById(selectedList).items + items = await sp.web.lists.getById(selectedList).items .select(selectQuery.join()) - .expand(expandQuery.join()).get(); + .expand(expandQuery.join()) + .top(4999) + .getPaged(); + listItems = items.results; + while (items.hasNext) { + items = await items.getNext(); + listItems = [...listItems, ...items.results]; + } return listItems; } catch (err) { Promise.reject(err);