0

ASPxGridViewイベントOnFocusedRowChangedを使用して、画面上の他のコンポーネントからのデータをフィルタリングすることは非常に一般的です。

問題は、テーブルがソートされるとFocusedRowIndex、 を変更することによってプロパティが保持され、KeyValueその結果、使用する引数フィルターが失われることです。

この問題を回避するには?

4

1 に答える 1

0

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フォーカスを維持します。

于 2013-08-09T17:47:35.467 に答える