0

我正在尝试检索 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);
});

您能否让我知道如何在装配后获得正确的行?我感谢你的时间。

祝愿,桑托什

4

1 回答 1

0

Okay, I figured out the answer.

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

Best Wishes

于 2013-05-17T10:02:16.750 回答