Are there any plans to implement DHTML menus in AW in future release?. It would be very nice to have a toolbar on top of the grid that serves as a container for different methods in the grid. For example, a file menu, edit menu, etc. (like in excel).
Isaac (BMS)
Wednesday, February 13, 2008
Yes, I agree - the menu/toolbars would be a good addition, probably as a separate script to keep the grid code size as small as possible.
Alex (ActiveWidgets)
Thursday, February 14, 2008
I included the Dynach menus (http://www.dynarch.com/products/dhtml-menu/) on top of an extended grid and they look nice. However, I found two issues that perhaps are related to the refresh function of the grid.
1. When I mouse over the menu, the header disappears
2. When I sort the table the style for the menu is lost and therefore the functionality is gone.
Any suggestions?
I am including the code but you need to register and download the Dynarch DHTML menus in order to see the problem.
var obj = new AW.Grid.Extended;
obj.setCellText(function(i, j){return j + "." + i});
obj.setHeaderText("header");
obj.setColumnCount(10);
obj.setRowCount(100);
obj.setCellEditable(true);
var toolbar = new AW.HTML.DIV;
toolbar.setId("toolbar");
toolbar.setContent("mytoolbar", "<ul id='menu'><li>_File<ul><li>_Open</li><li>_Save</li></ul></li><ul>");
obj.defineTemplate("toolBar", toolbar);
var panel = new AW.Panels.Horizontal;
panel.changePanelHeight(25, "top");
obj.setLayoutTemplate(panel);
obj.setPanelTemplate(function(i){
switch(i){
case "top" : return this.getToolBarTemplate();
case "center": return this.getScrollTemplate();
case "bottom": return '';
}
});
document.write(obj);
</script>
</body>
</html>
Isaac (BMS)
Thursday, February 14, 2008
Ok . It is fixed. I just needed to overwrite the refresh function.
// save the original method
obj.refresh1 = obj.refresh;
obj.refresh = function(){
obj.refresh1();
// Initialize the menus
DynarchMenu.setup('menu', { electric: 1000, timeout: 0 });
}
So also I don't need the onload event in the body either.