|
<div class="control-section">
<button ejs-button (click)="btnClick1()">SELECTROW </button>
<ejs-grid #grid [dataSource]="data" [allowPaging]="true" [selectionSettings]='selectionOptions' (actionBegin)='actionBegin($event)' [allowSorting]="true">
<e-columns>
<e-column
field= "ShipCity"
headerText="ShipRegion"
[sortComparer]='sortComparer'
width=150
minWidth= 10
></e-column>
</e-columns>
</ejs-grid>
</div>
-----------------------------------------------------------------------------------
export class AppComponent {
public ngOnInit(): void {
this.data = orderDetails.slice(0,10);
this.selectionOptions = { type: 'Multiple',persistSelection:true };
}
actionBegin(args) {
arr=[];
if (args.requestType === 'sorting') {
debugger;
action = args.direction;
}
var grid=(document.getElementsByClassName('e-grid')[0] as any).ej2_instances[0];
var sort=grid.getSelectedRecords(); // to get the selected records
for(var i=0;i<sort.length;i++){
var val=sort[i].OrderID; // to get primary key column value of selected records
arr.push(val);
}
}
sortComparer(reference, comparer, x, y) {
var flag=true;
for(var i=0;i<arr.length;i++){
if(x.OrderID===arr[i]&&action==="Ascending"){
flag=false;
}
}
for(var i=0;i<arr.length;i++){
if(y.OrderID!=arr[i]&&action==="Descending"){
flag=false;
}
}
if(flag){
return 1;
}
else{
return -1;
}
}} |