A subheader can be achieved by adding a second columns:[] configuration under each item in your columns structure. I use this for just one header in my grid (which has three subheaders) but I am sure it is applicable to each column:
Example being:
Code:
columns: {
items:[{
header: 'First',
sortable: false,
dataIndex: 'fname'
},{
header: '# of Pets',
id: 'numPets',
columns:[
{
text: 'Cats',
id: 'cats',
menuDisabled: true,
dataIndex: 'catsnum'
width: 60
},{
header: 'Dogs',
id: 'dogs',
menuDisabled: true,
dataIndex: 'dogsnum',
width: 50
},{
header: 'Fish',
id: 'fish',
menuDisabled: true,
dataIndex: 'fishnum',
width: 75
}]
},{
header: 'Address',
sortable: true,
dataIndex: 'address',
width: 30
}]
}