I’m trying to create programatically an EnahncedGrid with a menu. I’ve got the grid to work, but I’ve been unable to use the menu. It just not shows up. The code is as follows:
<script>
sMenu = new dijit.Menu({});
sMenu.addChild(new dijit.MenuItem({
label: "Delete Record",
iconClass: "dijitEditorIcon dijitEditorIconCancel",
onClick : function(){
alert(1);
}
}));
sMenu.startup();
/**
* El grid propiamente dicho
*/
var grid = new dojox.grid.EnhancedGrid({
id: "grid_"+i,
query: {
idDocument: '*'
},
plugins: {
nestedSorting: true,
indirectSelection: true,
menus: {rowMenu:sMenu}
},
onRowDblClick: openFile,
structure: layout
})
</script>
Any idea what I’m doing wrong?
I haven’t used this myself, but I have two possible suggestions:
First, make sure you’re
dojo.require-ing"dojox.grid.enhanced.plugins.Menu"and are only instantiating the widgets within adojo.addOnLoadordojo.ready.If you’ve already done that, the second thing I’d suggest is giving your menu an id, and passing that id to the
rowMenuproperty of themenusobject (in other words, pass a string, not the widget itself). Although, the way you’re doing it seems like it should work, judging from the code.You can see a test page with working menus here: http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/grid/tests/enhanced/test_enhanced_grid_menus.html