0

私のページには、jqgrid とは別に送信するフォームがあります。現在クライアントにロードされているグリッドのフィルターと並べ替え動作を取得し、それをサーバーに送信している投稿データに含めて、同じものを使用して実行する必要があることを実行できるようにする必要があります。検索条件。

私はこれを無駄にしようとしました:

$("#settings").val($("#list").getGridParam("postData"));

settings は、フォームの非表示フィールドの ID です。確かに gridsettings オブジェクトをバックエンドに渡しますが、フィルターや並べ替えの動作は含まれていません。

助言がありますか?

編集: console.log($("#settings").val()); を行うとき Firefox では、正しいフィルターと検索条件が表示されます。バックエンドで実際のグリッドと同じオブジェクトを使用していますが、機能していません。これを ajax ポストバックではなく通常の http 投稿で投稿しているので、そのオブジェクトを何らかの形で変更する必要がありますか?

編集 2: Oleg の投稿の下にあるコメントを読むと、私がこれをどのように解決したかがわかります。getGridParam() によって作成されたオブジェクト内に保持されている各プロパティを個別に渡す必要がありました。彼のコメントが私を正しい道に導くので、私は彼の答えを正解としてマークしています。

4

1 に答える 1

0

追加することで問題を解決できると思います

searchoptions: {searchhidden: true}

colModel検索中に使用できる非表示の列用。すべての列の設定を行うcmTemplate場合は、jqGridのオプションを使用できます。

cmTemplate: {searchoptions: {searchhidden: true}}

の詳細については、回答を参照してくださいcmTemplate

于 2012-11-06T21:24:34.283 に答える