|
<div>
<ejs-grid id="Grid" dataSource="ViewBag.DataSource" load="load" actionComplete="actionComplete" actionBegin="actionBegin" allowSorting="true" allowPaging="true">
<e-grid-columns>
<e-grid-column field="OrderID" headerText="Order ID" width="120"></e-grid-column>
<e-grid-column field="CustomerID" headerText="Customer ID" width="120"></e-grid-column>
<e-grid-column field="ShipCountry" headerText="Ship Country" width="120"></e-grid-column>
</e-grid-columns>
</ejs-grid>
</div>
<script>
var flag = false;
var sortElem;
var selfCall = false;
var sortColumn;
function load(e) {
var grid = document.getElementById("Grid").ej2_instances[0];
grid.sortSettings.properties.allowUnsort = false;
grid.sortModule.initiateSort = function (target, e, column) {
var gObj = grid.sortModule.parent, field = column.field;
var direction = target.querySelectorAll(".e-ascending").length ? "Descending" : "Ascending";
var isAvail;
var cols = grid.sortSettings.columns;
for (var i = 0; i < cols.length; i++) {
if (cols[i].field === column.field) {
isAvail = true;
}
}
if (!isAvail) {
direction = "Descending";
}
e.shiftKey || grid.sortModule.sortSettings.allowUnsort && target.querySelectorAll(".e-descending").length && !(gObj.groupSettings.columns.indexOf(field) > -1) ? grid.sortModule.removeSortColumn(field) : grid.sortModule.sortColumn(field, direction, e.ctrlKey || grid.sortModule.enableSortMultiTouch);
}
}
</script>
|