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

时间:2013-08-09 17:47:35

标签: devexpress aspxgridview

使用ASPxGridView事件OnFocusedRowChanged来过滤屏幕上其他组件的数据是很常见的。

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

如何避免这个问题?

1 个答案:

答案 0 :(得分:0)

ASPxGridView排序后,callback runs

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

int rowIndex = (sender as ASPxGridView).FindVisibleIndexByKeyValue(keyValue);
(sender as ASPxGridView).FocusedRowIndex = (rowIndex == ASPxGridView.InvalidRowIndex) ? -1 : rowIndex;

我将解释:保留KeyValue的值,用于过滤SessionASPxHiddenField屏幕上其他组件的数据。

如果找不到keyValue的值,我们会将FocusedRowIndex设置为-1(使行无法聚焦),否则我们始终保持相同的keyValue