Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
1010
Using remote paging/filtering/sorting with igTreeGrid jQuery binding
posted

Currently, I'm returning a partial view with a model from my controller method. In the partial view, I'm binding an igTreeGrid using jQuery syntax.

$("#mytableidselector").igTreeGrid({
dataSource: @(Html.Raw(Json.Encode(Model.GetDataRows()))),
autoGenerateColumns: false,
autofitLastColumn: true,
primaryKey: "PrimaryKey",
foreignKey: "ParentId",
foreignKeyRootValue: "0_0",
initialExpandDepth: 0,
enableHoverStyles: true,
autoCommit: false,
fixedHeaders: true,
renderExpansionIndicatorColumn: true,
columns: getColumns(),
features: [
{
name: "Filtering",
type: "local",
mode: "simple",
columnSettings: getFilteringColumnSettings()
},
{
name: "Sorting",
type: "local",
mode: "single",
applySortedColumnCss: false,
columnSettings: getSortingColumnSettings()
},
{
name: "Updating",
enableAddRow: false,
enableDeleteRow: false,
enableAddChild: false,
editMode: "none",
horizontalMoveOnEnter: true,
columnSettings: getUpdatingColumnSettings()
},
{
name: "Selection",
mode: "cell",
multipleSelection: false,
activation: true
},
{
name: "Tooltips",
visibility: "always",
style: "popover",
cursorLeftOffset: 25,
columnSettings: getToolTipColumnSettings()
},
{
name: "Hiding",
columnChooserContainment: "window",
hiddenColumnIndicatorHeaderWidth: 3,
columnChooserHeight: 430,
columnChooserWidth: 350,
columnChooserHideText: "Hide",
columnChooserShowText: "Show",
columnSettings: getHidingColumnSettings(),
columnHidden: handleColumnHidden
},
{
name: "ColumnMoving",
columnSettings: getColumnMovingSettings()
},
{
name: "Resizing",
deferredResizing: false,
allowDoubleClickToResize: true,
columnSettings: getResizingColumnSettings()
},
{
name: "Paging",
mode: "allLevels",
pageSize: 20,
pageSizeDropDownTrailingLabel: "quotes",
pageSizeDropDownLocation : "inpager",
showPagerRecordsLabel : false,
defaultDropDownWidth: 50,
currentPageIndex: 0
}
],
cellClick: treegridClickHandler,
rendered: treegridRenderedHandler,
headerRendered: handleHeaderRendered
});

Model.GetDataRows() returns IQueryable. DataRow is a flattened custom class holding the data.

I'm observing performance issue with large number of DataRows returned. I wish to enable remote on filtering, sorting, and paging.

Would you please give me few pointers on how best to accomplish this remote functionality.