1

現在、ページネーションが有効な Angular Js Grid があり、たとえば、1 ページあたり 5 レコードで、レコードの総数は 2000 であるため、すべてで 400 ページになります。

ng-grid のページネーションが処理される場合、gridOption データはページごとに指定されます。つまり、最初のページでは、gridOption は 2 番目の 6 ~ 10 行に対して 1 ~ 5 行になります。

ここでは、チェックボックスを介して選択機能を実装しているため、行が選択されるたびに[checkBoxが選択される]、selectedItems配列に保存され、選択されたアイテムをこのような別のグリッドに表示します.....

2 つの行が選択されているページ 1

2番目のページ[ページネーション]に移動し、このようにさらに行を選択すると...

ページ 2 ここで合計 3 つのレコードが選択されています

本当の問題は、前のページ、つまりページ 1 に再び戻ると、チェックボックスがチェックされないことです。これは、ページネーションでデータ ランタイムをロードするため、ページに次の結果が表示されるためです...

ページネーションの動的な性質により、ここでの選択は消えます

あなたが私の問題を理解したに違いないことを願っています....

ここで必要なのは、データがロードされる前/後のコールバックです。これにより、選択の数が保持されているため、チェックボックスを選択できます

または、私の問題に対する他の回避策も非常に役立ちます。

ありがとう!。

4

2 に答える 2

1

行の値を格納しているデータ モデルに、チェックした値を格納できますか? その後、戻ってきて、Angular バインディングによってチェックされましたか?

設定はわかりませんが、同様の状況でこれを行います。

于 2013-07-31T15:11:16.387 に答える
0

私はこれに数日間取り組んでいます。

ページネーション全体で選択を保持することはまだできませんが、すべての選択チェックボックスを同時に「選択解除」しながら、選択をクリアできます。

allSelected 変数は gridScope で公開されていませんが、次のコードを使用して取得してアドレス指定できます。

        // Use this to deselect all options.
        $scope.gridOptions.$gridScope.toggleSelectAll(null, false);
        // use this to find the allSelected variable which is tied to the 
        // (the ng-model related to the select all checkbox in the header row)
        var header = angular.element(".ngSelectionHeader").scope();
        // use this to turn off the checkbox.
        header.allSelected = false;

「再選択」がドキュメントどおりに機能するようになったら、もう一度フォローアップしますが、今のところ、これで満足しているかもしれません.

于 2013-08-15T15:41:29.363 に答える