try using this layout for your datagrid:
layout = [
[
{name: 'FirstCol', field: '0', width: '80px'},
{name: 'SecondCol', field: '1', width: '80px'},
{
name: " ",
field: '2',
width: '80px',
formatter: function (value) {
return new dijit.form.Button({label: "OpenPDF", onClick: function () {
// your stuff depending on value
} })
}
}
]
];
if you get your data from your map service populate your datagrid in this way:
dataForGrid = [];
for (var key in mapServiceResponse.items) {
dataForGrid.push([mapServiceResponse.items[key].firstField, responseAttivita.items[key].secondField, mapServiceResponse.items[key].objectid]);
// the third parameter is the value you get in your third column formatter
}
data1 = {
items: dataForGrid
};
store = new dojo.data.ItemFileReadStore({
data: data1
});
grid = new dojox.grid.DataGrid({
store: store,
structure: layout,
rowSelector: '20px'},
document.createElement('div'));