0

グリッドパネルがあります。いくつかのユーザー アクション (別のグリッド ページに移動する、グリッド列にフィルターを適用する、一部の列の並べ替え順序を変更する (私の場合、並べ替えはリモートです) など) 後、要求がサーバーに送信され、適切な結果が返されます。ただし、場合によっては、リクエストを続行するためにユーザーから確認を得る必要があります。

リクエストの送信を中断してユーザーに確認メッセージを表示する最も便利な方法は、ストアの「beforeload」イベントをキャッチし、ユーザーがノーと言った場合に「false」を返すことであることが判明しました。

そこで、問題を以下に説明します。初期状態があります (ソート方向を参照)。 ここに画像の説明を入力

次に、ユーザーがこの列の並べ替え順序を変更すると、リクエストがサーバーに送信されようとしていますが、ユーザーは確認メッセージを受け取り、「いいえ」と言ってリクエストは中止されます。したがって、グリッド内のデータは変更されません (そしてそれは正しいです) が、ヘッダーの画像は別の方向に変更されます ここに画像の説明を入力

さて、「三角形の並べ替え」画像を正しい状態に戻す方法はありますか? 前もって感謝します

4

2 に答える 2

0

だから、私にとってうまくいく完全な解決策は次のとおりです。

  1. 準備ステップ:必要なすべての状態をどこかに保存する(私の場合は列とソート順)

  2. @kevhenderが提案したようにCSSを変更する

  3. 呼び出す'your_grid_panel'.headerCt.clearOtherSortStates('saved_column')。ユーザーは任意の列をクリックする可能性があるため、「saved_column」以外のすべてをクリアする必要があります

  4. する'saved_column'.sortState = 'saved_sorting_order'。前の回答へのコメントで説明した問題を回避できます。

于 2013-10-24T12:57:05.353 に答える
0

これを試して:

var headerEl = grid.headerCt.items.get(colIndex).el;
el.removeCls('x-column-header-sort-ASC')
el.addCls('x-column-header-sort-DESC')
于 2013-10-23T12:34:26.940 に答える