Dojo Datagrid - 获取行号

时间:2013-05-14 08:05:28

标签: dojo dojox.grid

我正在尝试检索dojo数据网格中的行号。 rowIndex函数对我帮助不大,因为我在排序时需要'行号'而不是'行号'。

情景:

我想将焦点放在一个特定的行上,即使在排序后这个焦点也应该保留。但是,如果我使用下面的代码,它不会选择正确的行。

例如,索引1在排序后位于第5行。但是,e.item.id仍为1,预计为5.

calendar.on("itemClick", function (e) 
{ 
    MyGrid.doclick({ rowIndex: e.item.id }); 
    MyGrid.scrollToRow(e.item.id); 
});

另外,我也试过......

calendar.on("itemClick", function (e)
{
    var identity = MyGrid._by_idx[e.item.id].idty;

    var gridItem = MyGrid.getItem(identity);
    var gridItemIndex = MyGrid.getItemIndex(gridItem);

    MyGrid.doclick({ rowIndex: gridItemIndex });
    MyGrid.scrollToRow(e.item.id);
});

您能告诉我如何在装修后获得正确的排吗?我感谢你的时间。

愿望, 桑托什

1 个答案:

答案 0 :(得分:0)

好的,我找到了答案。

GetGridItemIndexByGridItem = function (gridItem) { 
    var indexLength = MyGrid._by_idx.length; 
    var element = null; 
    var gridItemIndex = -1; 

    for (var i = 0; i < indexLength; i++) { 
        element = MyGrid._by_idx[i]; 
        if (element.item.Guid == gridItem.Guid) { 
            gridItemIndex = i; 
        } 
    } 
    return gridItemIndex; 
}

祝福