我的应用程序使用Q和A键来移动到ObjectListView中的下一项,只要用户不使用列标题之一对列表项进行排序,这样就可以正常工作。如果用户已经排序,则按Q / A键会导致列表在列表项中跳来跳去,因为它似乎使用原始顺序而不是当前顺序。因此,我正在寻找解决方案,即使用户已经排序,也允许用户移动到下一项。以下是我目前拥有的代码(仅适用于A键):
if (e.KeyCode == Keys.A)
{
OLVListItem next = listSession.GetNextItem(listSession.SelectedItem);
if (next == null)
{
return;
}
listSession.SelectedObject = (Session)next.RowObject;
listSession.EnsureModelVisible((Session)next.RowObject);
}
GetNthItemInDisplayOrder()
和GetDisplayOrderOfItemIndex()
,但我没有成功想出可行的解决方法。 - Rev