Demo - FlexGrid
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.grapecity.com/wijmo/5.20181.462/styles/wijmo.min.css">
<script src="https://cdn.grapecity.com/wijmo/5.20181.462/controls/wijmo.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.20181.462/controls/wijmo.input.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.20181.462/controls/wijmo.grid.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.20181.462/controls/wijmo.grid.filter.min.js"></script>
<div id="gridDefault">
</div>
CSS
body {
margin: 20px;
}
.wj-flexgrid {
max-height: 250px;
width: auto;
}
JavaScript
onload = function() {
// default grid
var gridDefault = new wijmo.grid.FlexGrid('#gridDefault', {
itemsSource: getData(),
columns: [{
header: 'ID',
binding: 'id'
},
{
header: 'Country',
binding: 'country.name'
},
{
header: 'Active',
binding: 'active'
},
{
header: 'Downloads',
binding: 'downloads'
}
]
});
var filter = new wijmo.grid.filter.FlexGridFilter(gridDefault);
var countryFilter = filter.getColumnFilter('country.name').valueFilter;
filter.filterChanging.addHandler((s, e) => {
countryFilter.uniqueValues = ['Asia', 'Europe', 'America, Africa'];
countryFilter.sortValues = false;
})
// create some random data
function getData() {
var countries = 'US,Germany,UK,Japan,Italy,Greece'.split(','),
data = [];
for (var i = 0; i < 200; i++) {
data.push({
id: i,
country: {
name: countries[i % countries.length],
id: i % countries.length
},
active: i % 5 != 0,
downloads: Math.round(Math.random() * 200000),
});
}
return data;
}
}