Devexpress 如何在对ASPxGridview排序时保持焦点行?

Devexpress 如何在对ASPxGridview排序时保持焦点行?,devexpress,aspxgridview,Devexpress,Aspxgridview,通常使用ASPxGridView事件OnFocusedRowChanged从屏幕上的其他组件筛选数据 问题是,在对表进行排序时,通过更改KeyValue保留属性FocusedRowIndex,从而丢失我们使用的参数过滤器 如何避免此问题?对ASPxGridView进行排序时 要避免此问题,只需使用以下代码处理AfterPerformCallback服务器端事件: int rowIndex = (sender as ASPxGridView).FindVisibleIndexByKeyValue(

通常使用
ASPxGridView
事件
OnFocusedRowChanged
从屏幕上的其他组件筛选数据

问题是,在对表进行排序时,通过更改
KeyValue
保留属性
FocusedRowIndex
,从而丢失我们使用的参数过滤器


如何避免此问题?

ASPxGridView
进行排序时

要避免此问题,只需使用以下代码处理
AfterPerformCallback
服务器端事件:

int rowIndex = (sender as ASPxGridView).FindVisibleIndexByKeyValue(keyValue);
(sender as ASPxGridView).FocusedRowIndex = (rowIndex == ASPxGridView.InvalidRowIndex) ? -1 : rowIndex;
我将解释:在
会话
ASPxHiddenField
中,保留用于过滤屏幕上其他组件数据的
KeyValue的值

如果未找到
keyValue
的值,我们将
FocusedRowIndex
设置为-1(这将取消对焦行),否则我们始终保持相同的
keyValue
对焦