wijmo-812-sorting-bug

by lucksm1

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdn.grapecity.com/wijmo/5.latest/styles/wijmo.min.css">
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.input.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.filter.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.detail.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.sheet.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.grouppanel.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.xlsx.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.xlsx.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.multirow.min.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">

	<script type="text/javascript" src="../js/jquery.js"></script>
	<script type="text/javascript" src="../js/jquery-ui/jquery-ui.js"></script>
	<script type="text/javascript" src="../js/babel-polyfills.js"></script>
	<script type="text/javascript" src="../js/wijmo/wijmo.min.js"></script>
	<script type="text/javascript" src="../js/wijmo/wijmo.input.min.js"></script>
	<script type="text/javascript" src="../js/wijmo/wijmo.grid.min.js"></script>
	<script type="text/javascript" src="../js/wijmo/wijmo.grid.filter.min.js"></script>
	<script type="text/javascript"...

JavaScript

function makeFlexSheet() {
	
	var flexSheet = new wijmo.grid.sheet.FlexSheet("#flexsheet");
	flexSheet.allowSorting = true;
	flexSheet.showSort = true;
	
	var sheet = new wijmo.grid.sheet.Sheet(flexSheet, null, "Sheet 1", 3, 2);
	
	var data = [
  			{"Col A" : "30", "Col B" : "=(A2)"},
        {"Col A" : "40", "Col B" : "=(A3)"},
				{"Col A" : "50", "Col B" : "=(A4)"}
				];
	
	sheet.itemsSource = data;
	flexSheet.sheets.push(sheet);
	flexSheet.refresh();

	flexSheet.hostElement.addEventListener('mousedown', function(e) {
		// Sort sheet by clicking on colum header. Display sort direction arrow.
		var hti = flexSheet.hitTest(e);
		if (hti.panel === flexSheet.columnHeaders) {
			e.preventDefault();
			var binding = flexSheet.columns[hti.col].binding;
			const view = flexSheet.collectionView;
			var asc = flexSheet.columns[hti.col].currentSort === '+' ? false : true;
			view.sortDescriptions.clear();
			if (e.ctrlKey) {
				return;
			}
			view.sortDescriptions.push(new wijmo.collections.SortDescription(binding, asc));
		}
	});
}

$(document).ready(function() {
	makeFlexSheet();
});