ASPxGridView
使用事件OnFocusedRowChanged
过滤来自屏幕上其他组件的数据是很常见的。
问题是,当对表进行排序时,该属性FocusedRowIndex
是通过更改而保留的KeyValue
,因此会丢失我们使用的参数过滤器。
如何避免这个问题?
ASPxGridView
使用事件OnFocusedRowChanged
过滤来自屏幕上其他组件的数据是很常见的。
问题是,当对表进行排序时,该属性FocusedRowIndex
是通过更改而保留的KeyValue
,因此会丢失我们使用的参数过滤器。
如何避免这个问题?
ASPxGridView
排序后,将运行回调。
为避免此问题,只需AfterPerformCallback
使用以下代码处理服务器端事件:
int rowIndex = (sender as ASPxGridView).FindVisibleIndexByKeyValue(keyValue);
(sender as ASPxGridView).FocusedRowIndex = (rowIndex == ASPxGridView.InvalidRowIndex) ? -1 : rowIndex;
我将解释:将KeyValue
用于过滤屏幕上其他组件数据的值保留Session
在ASPxHiddenField
.
如果keyValue
未找到 的值,我们将其设置FocusedRowIndex
为 -1(使该行不聚焦),否则我们始终保持相同的keyValue
聚焦。