Dojo:以编程方式在增强网格中创建菜单

时间:2011-01-28 23:45:20

标签: dojo grid menuitem

我正在尝试使用菜单以编程方式创建EnahncedGrid。我有网格工作,但我一直无法使用菜单。它只是没有显示出来。代码如下:

<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>

知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

我自己没有用过这个,但我有两个可能的建议:

首先,请确保您dojo.require正在"dojox.grid.enhanced.plugins.Menu"并且仅在dojo.addOnLoaddojo.ready内实例化小部件。

如果你已经这样做了,我建议的第二件事是给你的菜单一个id,并将该id传递给rowMenu对象的menus属性(换句话说,传递一个字符串,而不是小部件本身)。虽然,从代码的角度来看,你正在做的事情似乎应该有效。

您可以在此处看到包含工作菜单的测试页:http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/grid/tests/enhanced/test_enhanced_grid_menus.html