Html5 Grid
Set the selectionmode property of the jqxGrid.
Author: http://jqwidgets.com
HTML
<script src="https://jqwidgets.com/public/jqwidgets/jqx-all.js"></script>
<link rel="stylesheet" href="https://jqwidgets.com/public/jqwidgets/styles/jqx.base.css">
<link rel="stylesheet" href="https://jqwidgets.com/public/jqwidgets/styles/jqx.energyblue.css">
<script src="https://jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/generatedata.js"></script>
<div id="jqxgrid"></div>
JavaScript
var data = generatedata(200);
var source = {
localdata: data,
datafields: [{
name: "id",
type: "number"
}, {
name: "firstname",
type: "string"
}, {
name: "lastname",
type: "string"
}, {
name: "productname",
type: "string"
}, {
name: "quantity",
type: "number"
}, {
name: "price",
type: "number"
}, {
name: "total",
type: "number"
}],
datatype: "array"
};
var dataAdapter = new $.jqx.dataAdapter(source);
// initialize jqxGrid
$("#jqxgrid").jqxGrid({
theme: "energyblue",
width: 500,
height: 350,
theme: "energyblue",
source: dataAdapter,
selectionmode: "custom",
columns: [{
text: "Id",
datafield: "id",
width: 50
}, {
text: "First Name",
datafield: "firstname",
width: 100
}, {
text: "Last Name",
datafield: "lastname",
width: 100
}, {
text: "Product",
datafield: "productname",
width: 180
}, {
text: "Quantity",
datafield: "quantity",
width: 80,
cellsalign: "right"
}, {
text: "Unit Price",
datafield: "price",
width: 90,
cellsalign: "right",
cellsformat: "c2"
}, {
text: "Total",
datafield: "total",
width: 100,
cellsalign: "right",
cellsformat: "c2"
}]
});
var specialRow = 2;
// select the second row.
$("#jqxgrid").jqxGrid("selectrow", specialRow);
$("#jqxgrid").on("rowselect", function (event) {
if (event.args.rowindex != specialRow) {
$("#jqxgrid").jqxGrid("unselectrow", event.args.rowindex);
setTimeout(_ => {
$("#jqxgrid").jqxGrid("selectrow", specialRow);
});
};
});