Javascript Syncfusion ejGrid нуждается в медленной загрузке

#javascript #grid

#язык JavaScript #сетка

Вопрос:

Я пытаюсь ускорить загрузку этой сетки, особенно для масштабируемости, когда число пользователей потенциально может резко увеличиться. Я пытался выяснить, как добавить ленивую загрузку в ejgrid, чтобы она загружалась быстрее, но, судя по моему опыту, большая часть документации не так уж хороша. Есть ли простой способ добавить ленивую загрузку в эту сетку, приведенную ниже? является ли это вообще атрибутом?

 gridDiv.ejGrid({  dataSource: this.Data.Users,  allowPaging: true,  allowFiltering: true,  allowSorting: true,  allowSelection: true,  allowTextWrap: true,  allowScrolling: true,  allowResizing: true,  isResponsive: true,  textWrapSettings: { wrapMode: "both" },  toolbarSettings: {  showToolbar: true, customToolbarItems: [  { templateID: "#tenRows" },  { templateID: "#twentyFiveRows" },  { templateID: "#allRows" },  { templateID: "#refreshGrid" }  ]  },  columns: [  { field: "UserId", isPrimaryKey: true, visible: false },  { type: "checkbox", headerText: "Select", width: 70, templateID: "#userCheckboxTemplate", textAlign: 'Center' },  { field: "firstName", headerText: "First Name", width: 100 },  { field: "middleInitial", headerText: "M.I.", width: 50, textAlign: 'Center' },  { field: "lastName", headerText: "Last Name", width: 100 },  { field: "email", headerText: "Email", width: 100 },  { field: "creationDate", headerText: "Created", width: 100, type: "dateTime", format: '{0:MM/dd/yyyy}' },  { field: "lastLogin", headerText: "Last Login", width: 100, type: "dateTime", format: '{0:MM/dd/yyyy HH:mm}' },  ],  sortSettings: { sortedColumns: [{ field: "lastName", direction: "ascending" }] },  filterSettings: { filterBarMode: "immediate", immediateModeDelay: 0 },  pageSettings: { pageSize: this.pageRowCount },  toolbarClick: function (args) {  if (args.itemName === "tenRows") {  gridDiv.data('ejGrid').changePageSize(10);  }  if (args.itemName === "twentyFiveRows") {  gridDiv.data('ejGrid').changePageSize(25);  }  if (args.itemName === "allRows") {  gridDiv.data('ejGrid').changePageSize(gridDiv.ejGrid("option", "pageSettings.totalRecordsCount"));  }  if (args.itemName === "refreshGrid") {  RefreshUsersGrid(gridDiv);  }  },    actionBegin: function (args) {  if (args.requestType === "filtering") {  args.currentFilterObject[0].operator = "contains";  }  },     actionComplete: function (args) {   FormatDateFilter(args);  ClearUsersButtonEnable();  },   rowSelected: (args) =gt; this.UserSelected(args)  });