

|
saveState(args:any){
//Save the Current Grid state
window.gridSate =this.Grid.getPersistData()
}
loadState(args:any){
//load the Grid state
let gridState = JSON.parse(window.gridSate);
if(gridState){
this.Grid.columns = gridState.columns;
}
} |


|
@Component({
selector: 'app-exp',
template: `<ejs-grid #grid id="grid" [dataSource]="datas" (load)='load($event)' [allowSorting]="true" [sortSettings]="sortSettings" [allowFiltering]="true" [filterSettings]="filterSettings"
[columns]="columns" [allowGrouping]="true">
</ejs-grid>`
})
export class SubComponent implements OnInit{
_
@ViewChild('grid') public grid: GridComponent;
ngOnInit() {
. . .
}
load(e:any){
this.grid.setProperties({ sortSettings: {columns: [{ field: 'OrderID', direction: 'Ascending' }]}, filterSettings: { columns: [{ field: 'CustomerID', matchCase: false, operator: 'contains', predicate: 'and', value:"ALFKI" }] } }, false);
}
} |


|
<ejs-grid #grid [dataSource]='data' [allowPaging]='true' [height]='315' (load)='load($event)'>
...
</ejs-grid>
})
export class AppComponent{
public data: Object[];
ngOnInit(): void {
this.data = data;
}
load(e:any){
var obj = document.getElementsByClassName("e-grid")[0].ej2_instances[0]
obj.setProperties({ pageSettings: {currentPage: 2}}, false);
}
} |
|
getPersistData(){
var gridInst = document.getElementById("Grid").ej2_instances[0];
var getPersistedData= JSON.parse(window.localStorage.getItem("gridPersistData"));
var data= JSON.parse(getPersistedData);
if (data) {
gridInst.setProperties({
columnModel: data.columns,
sortSettings: { columns: data.sortSettings.columns },
groupSettings: {columns:data.groupSettings.columns},
filterSettings: data.filterSettings,
pageSettings: {pageSize:data.pageSettings.pageSize, currentPage:data.pageSettings.currentPage, pageCount: data.pageSettings.pageCount},
searchSettings: {fields:data.searchSettings.fields, key:data.searchSettings.key}
},false)
}
}
|

|
...
function getPersistData(){
var gridInst = document.getElementById("Grid").ej2_instances[0];
var getPersistedData= JSON.parse(window.localStorage.getItem("gridPersistData"));
var data= JSON.parse(getPersistedData);
if (data) {
gridInst.setProperties({
columnModel: data.columns,
sortSettings: { columns: data.sortSettings.columns },
groupSettings: {columns:data.groupSettings.columns},
filterSettings: data.filterSettings,
pageSettings: {pageSize:data.pageSettings.pageSize, currentPage:data.pageSettings.currentPage, pageCount: data.pageSettings.pageCount},
searchSettings: {fields:data.searchSettings.fields, key:data.searchSettings.key}
},false)
gridInst.refreshColumns(); //Here we have used the refreshColumns method
}
}
... |

|
function getPersistData(){
. . .
if (data) {
gridInst.setProperties({
. . .
pageSettings: {pageSize:data.pageSettings.pageSize, currentPage:data.pageSettings.currentPage, pageCount: data.pageSettings.pageCount},
searchSettings: {fields:data.searchSettings.fields, key:data.searchSettings.key}
},true)
gridInst.refreshColumns();
}
} |
|
...
<script>
function handleClick(){
var gridInst = document.getElementsByClassName("e-grid")[0].ej2_instances[0];
var templates = [];
templates[0] = gridInst.columns[1].template; //getting template string of the column
templates[1] = gridInst.column[2].template;
window.localStorage.setItem("gridTemplates", JSON.stringify(templates)); //storing the template strings in the local storage
var persistData = gridInst.getPersistData();
...
}
function getPersistData(){
var gridInst = document.getElementsByClassName("e-grid")[0].ej2_instances[0];
...
gridInst.refreshColumns();
var templates = JSON.parse(window.localStorage.getItem("gridTemplates")); //getting the template string from local storage
gridInst.columns[1].template = gridTemplates[0]; //assigning back the template strings to respective columns
gridInst.columns[2].template = gridTemplates[1];
}
}
</script>
<script id= 'template' type="text/x-template"><div> kjbkjh </div></script> //template with id as ‘template’
</body>
... |