2013-08-09 5 views
0

Для фильтрации данных других компонентов на экране достаточно использовать событие ASPxGridViewOnFocusedRowChanged.Как сохранить сфокусированную строку при сортировке ASPxGridview?

Проблема заключается в том, что при сортировке таблицы свойство FocusedRowIndex сохраняется путем изменения KeyValue и, следовательно, потери фильтра аргументов, который мы используем.

Как избежать этой проблемы?

ответ

0

При сортировке ASPxGridView, callback runs.

Чтобы избежать этой проблемы, просто обрабатывать AfterPerformCallback на стороне сервера событие со следующим кодом:

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

пояснит: сохранить значение KeyValue, используемое для фильтрации данных других компонентов на экран в Session или в ASPxHiddenField.

Если значение keyValue не найдено, мы устанавливаем FocusedRowIndex -1 (unfocus строки), в противном случае мы всегда один и тот же keyValue сосредоточены.