JavaScript Grid
Bind to the filter event by type: jqxGrid. Author: http://jqwidgets.com
by rory kil
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='jqxWidget'>
<div id="jqxgrid"></div>
<div id='selection' style='margin-right: 5px; padding: 0px; float: left;'>
<div style='float: left;margin-left: 5px; width: 90px; height: 18px;'>run this Bulk Select it takes to long</div>
</div>
</div>
JavaScript
var data = generatedata(1000);
var source = {
localdata: data,
datafields: [{
name: 'firstname',
type: 'string'
}, {
name: 'lastname',
type: 'string'
}, {
name: 'productname',
type: 'string'
}, {
name: 'date',
type: 'date'
}, {
name: 'quantity',
type: 'number'
}, {
name: 'price',
type: 'number'
}],
datatype: "array"
};
var adapter = new $.jqx.dataAdapter(source);
$("#jqxgrid").jqxGrid({
theme: 'energyblue',
source: adapter,
sortable: true,
width: '100%',
selectionmode: 'checkbox',
altrows: true,
pageable: true,
enablebrowserselection: true,
showfilterrow: true,
filterable: true,
autoshowfiltericon: true,
rowsheight: 22,
height: '440px',
pagesize: 500,
pagesizeoptions: [10, 20, 50, 100, 200, 500, 1000, 2000, 3000, 4000, 5000],
//virtualmode: true,
columnsresize: true,
rendergridrows: function (obj) {
return obj.data;
},
columns: [{
text: 'First Name',
datafield: 'firstname',
columngroup: 'Name',
width: 90,
pinned: true
}, {
text: 'Last Name',
columngroup: 'Name',
datafield: 'lastname',
width: 90,
pinned: true
}, {
text: 'Product',
datafield: 'productname',
width: 170,
pinned: true
}, {
text: 'Order Date',
datafield: 'date',
width: 160,
cellsformat: 'dd-MMMM-yyyy'
}, {
text: 'Quantity',
datafield: 'quantity',
width: 80,
cellsalign: 'right'
}, {
text: 'Unit Price',
datafield: 'price',
cellsalign: 'right',
cellsformat: 'c2'
}, {
datafield: 'AssignedToFullname',
filterable: false,
text: 'Analyst',
width: 120
...