I am using the "Infragistics igTreeGrid" in my application to display the records.Every thing works fine when i provide less number of records to the grid, but my requirement is to display around 40,000 records at a time. so when i provide these many records to the grid ,it is taking around 2mins of time which is very high. So what should i do to improve the performance atleast to half of the current time. I have looked at the "Virtualization" and "load on demand" ,I didn't get exactly what they are. When i use virtualization grid is taking more time than without the virtualization and may i know how load on demand works and how can i provide only some part of the data to the grid using load on demand when there is a parent child relation between the nodes.Here is the code which i have used, can any one help me out of this issue.
$("#treegrid").igTreeGrid({
dataSource: totalObjects,
width: "100%",
//rowEditDialogHeight: "100px",
autoGenerateColumns: false,
enableDeleteRow: false,
primaryKey: "name",
foreignKey: "parent",
editMode: "cell",
initialExpandDepth: 1,
/* virtualization : true,
virtualizationMode : "continuous",
height : "400px",*/
columns: [
{headerText: "Product Hierarchy", key: "name", dataType: "string", readOnly: "true"},
{
headerText: "Associated Materials",
key: "associations",
width: "120px",
dataType: "string",
readOnly: "true"
},
{headerText: "Level", key: "key", width: "50px", dataType: "string", readOnly: "true"},
{headerText: "Description", key: "excel_desc", dataType: "string", editable: "true"},
{
headerText: "SAP Description", key: "sap_desc", dataType: "string", readOnly: "true"
//editorType: "text",
//editorOptions: {textMode: "multiline",maxLength: 100}
},
// { headerText: "", key: "source", dataType: "string", readOnly:"true",hidden: true },
],
childDataKey: "children",
initialExpandDepth: 0,
features: [
{
name: "Responsive"
},
{
name: "Resizing"
},
{
name: "Paging",
pageSize: 8,
mode: 'allLevels'
},
//filtering & sorting
{
name: "Filtering",
type: "local",
mode: "simple",
filterDialogContainment: "window",
columnSettings: [
{
columnKey: "name",
condition: "startsWith"
},
{
columnKey: "associations",
condition: "equals"
},
{
columnKey: "key",
condition: "equals"
},
{
columnKey: "sap_desc",
condition: "equals"
},
]
},
{
name: "Sorting",
type: "local"
},
]
});