#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) });