Icon Demo
Fiddle showing dropdown icon
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<link rel="stylesheet" href="https://www.jqwidgets.com/public/jqwidgets/styles/jqx.base.css">
<link rel="stylesheet" href="https://www.jqwidgets.com/public/jqwidgets/styles/jqx.arctic.css">
<script src="https://www.jqwidgets.com/public/jqwidgets/jqx-all.js"></script>
<script src="https://www.jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/generatedata.js"></script>
<div id='jqxWidget'>
<div id="jqxgrid"></div>
</div>
<!--<div style="margin-top: 10px;">
<input id="button" type="button" value="Consolidate" />
</div>-->
CSS
body { width: 100%; height: 100%; }
JavaScript
var data = [
{ name: 'A', date: '07/15/2014 05:00:00.0',des:'This is for A' },
{ name: 'A', date: '08/16/2016 06:00:00.0',des:'This is for 2A' },
{ name: 'A', date: '07/15/2015 07:00:00.0',des:'This is for 3A' },
{ name: 'B', date: '07/15/2016 07:00:00.0',des:'This is for B' },
{ name: 'B', date: '08/16/2016 07:00:00.0',des:'This is for 2B' },
{ name: 'B', date: '09/15/2016 07:00:00.0',des:'This is for 3B' },
{ name: 'C', date: '08/15/2015 07:00:00.0',des:'This is for C' },
{ name: 'D', date: '12/15/2015 07:00:00.0',des:'This is for D' },
{ name: 'E', date: '11/15/2015 07:00:00.0' ,des:'This is for E'}
];
var cl = function (s) { console.log(s); }
var isUsedKey = function (arrayOfObject, key)
{
for (var i = 0; i < arrayOfObject.length; i += 1)
{
if (arrayOfObject[i].key == key)
{
return true;
}
}
return false;
};
var array = [];
var object = {};
for (var i = 0; i < data.length; i++)
{
if (i == 0)
{
var newItem = {};
newItem.key = data[i].name;
newItem.dates = [data[i].date];
newItem.description = data[i].des;
array.push(newItem);
} else
{
var item = data[i];
var itemName = item.name;
var itemDate = item.date;
var itemDesc = item.des;
if (isUsedKey(array, itemName))
{
for (var j = 0; j < array.length; j++)
{
if (array[j].key == itemName)
{
var index = array[j].dates.length;
array[j].dates[index] = itemDate;
}
}
} else
{
var nextNewItem = {};
nextNewItem.key = itemName;
nextNewItem.dates = [itemDate];
nextNewItem.description = itemDesc;
array.push(nextNewItem);
}
}
}
var newSource = {
localdata: array,
datafields: [{
name: 'name',
type:...