Binding onRowClick to a DoJo datagrid (dojox.grid.DataGrid)
http://stackoverflow.com/questions/10708794/binding-onrowclick-to-a-dojo-datagrid-dojox-grid-datagrid
HTML
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/dijit/themes/claro/claro.css">
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/dojox/grid/resources/claroGrid.css">
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/dojox/grid/resources/Grid.css">
<style type="text/css">
#grid {
height: 200px;
width: 200px;
}
</style>
<div id="grid"></div>
<div style="width:100%; ">
<p></p>
<table>
<tr>
<td align="left">
<div id="kbvrequest">
</div>
</td>
<td align="left">
<div id="kbvresponse">
</div>
</td>
</tr>
</table>
</div>
JavaScript
require(["dojo/parser", "dojo/data/ItemFileReadStore", "dojox/grid/DataGrid"],
function(parser, Store, Grid) {
dojo.ready(function() {
var store = new Store({
data: {
identifier: 'id',
label: 'name',
items: [{
id: '0',
name: 'Craig'
},
{
id: '1',
name: 'Jim'
},
{
id: '2',
name: 'Bob'
}
]
}
});
var grid = new Grid({
store: store,
selectionMode: 'single',
structure: [
[{
field: 'name',
name: 'Name'
}]
]
}, dojo.byId("grid"));
grid.startup();
dojo.connect(grid, "onRowClick", function(e) {
var dataItem = grid.selection.getSelected();
// call you change method here with dataItem
console.dir(dataItem);
document.getElementById("kbvrequest").innerHTML = dataItem[0].id;
document.getElementById("kbvresponse").innerHTML = dataItem[0].name;
});
});
});