Dojo EnhancedGrid嵌套排序不起作用

时间:2010-09-20 15:57:20

标签: javascript sorting datagrid dojo

我正在尝试在Dojo中创建具有嵌套排序功能的增强型网格,但是当我通过插件添加嵌套排序功能时,网格不再在页面中工作(显示)。我增强的网格创建代码如下:

dojo.require("dojox.grid.EnhancedGrid");
dojo.require("dojox.grid.enhanced.plugins.NestedSorting");
grid = new dojox.grid.EnhancedGrid({
        canSort: function(colIndex) {
            //colIndex = -colIndex; //make columns decend 
            if ((colIndex == colA) || (colIndex == colB)) {
                return false;
            }
            return true;
        },
        onHeaderCellMouseOver:function(event{onGridHeaderCellMouseOver(event,layout[0]);},
        onHeaderCellMouseOut: function(event){onGridHeaderCellMouseOut(event,layout[0]);},
        store: msgStore,
        structure: layout,
        plugins: {nestedSorting: true}
    },document.createElement("div"));
    dojo.byId("TableHolder").appendChild(grid.domNode);
    grid.startup();
    grid.setSortInfo(-1);

如果我注释掉插件行,那么它将完美地工作,没有嵌套排序。有谁知道我将如何获得嵌套排序功能? 我正在使用Dojo 1.4。 感谢

3 个答案:

答案 0 :(得分:2)

好像我已经解决了这个问题....我发现必须包含'必需'的文件是:“dojox.grid.cells.dijit”。奇怪的是,我没有发现文档中有必要这样做,但确实碰巧在示例中找到了它。一旦将其添加到我所需的语句中,我就进行了嵌套排序。有人可以解释这个具体要求及其看似至关重要的要求吗?

谢谢

答案 1 :(得分:0)

只是快速尝试1.4.3,似乎相同的代码适用于我:

dojo.addOnLoad(function(){
    var grid = new dojox.grid.EnhancedGrid({
        id:'grid',
        canSort: function(colIndex) {
            if ((colIndex == 0) || (colIndex == 1)) {
                return false;
            }
            return true;
         },
         onHeaderCellMouseOver:function(event)onGridHeaderCellMouseOver(event,layout[0]);},
        onHeaderCellMouseOut: function(event)onGridHeaderCellMouseOut(event,layout[0]);},
        store: csvStore1,
        structure: layout,
        plugins : {nestedSorting: true}
    }, document.createElement("div"));
    dojo.byId("gridDiv").appendChild(grid.domNode);
    grid.startup();
    grid.setSortInfo(-1);  });

你的onHeaderCellMouseOver:function(事件{,但不认为这是因为单一排序适合你的原因。

BTW,1.4中不支持通过grid.setSortInfo(-1)设置默认嵌套排序顺序(它在1.6的计划中)

答案 2 :(得分:0)

在早期版本中应该是缺陷,它在1.5中适用于我,也是dojo forum的相关主题