0

OnDemandGrid を作成しましたが、列の並べ替えがどの列でも機能していないことに気付きました。矢印があり、画面が更新されますが、列が昇順または降順でソートされません。各列を指定しようとしましたが、まだ機能しません。同じ問題を抱えている/抱えている人はいますか?

更新: 6.16.15 - sortParam の提案を試した後: 以下のコメントで説明します。正しいことをしているように見えますが、まだソートされません。

ここに画像の説明を入力

更新 6.16.15 - 午後 4:00 明らかに、どのタイプのフィルタリングまたはソートも Django ではうまく機能しません - Dojo が Django Rest と通信できる、またはその逆にフィルタリングを設定する方法を決定しようとしています - これまでのところ、動作する両側の設定。列の並べ替えが機能しないだけでなく、検索フィールドの作成も、並べ替えボタンの作成も機能しません。

ここに画像の説明を入力

これは、DJANGO settings.py の ORDERING_PARAM を 'SORT' に変更した後です...すべての集中的な目的のために、これはうまくいくように見えます。

4

1 に答える 1

1

Django Rest Frameworkのドキュメントをすばやく検索すると、デフォルトで、orderingどのフィールドをソートする必要があるかを示すクエリ パラメーターが期待されることがわかります。ストア(dstore/Requestによって継承Rest) を使用すると、 を介して、並べ替え情報を送信するクエリ パラメータ名を指定できますsortParam

また、DRF の OrderingFilter は、接頭辞なしの昇順ソートと の降順ソートを示しているよう-です。 dstore/Requestデフォルトでは+、 とをプレフィックスとして期待していますが、これらはand-を介してオーバーライドできます。ascendingPrefixdescendingPrefix

したがって、あなたのケースでは、ストア インスタンスsortParam: 'ordering', ascendingPrefix: ''を作成するときに渡されるプロパティに含める必要があります。Rest

一般に、グリッドとバックエンドが目的を達成していないように見えるこのようなストア関連の問題に遭遇した場合、これは従わなければならないプロセスです - サーバーが何を期待しているかを調べ、クライアント側のストアを実装し、微調整できるか、カスタマイズする必要があるかどうかを確認します。

UPDATE 6.17.15 - dojo/dgrid パラメータに合わせてサーバー側の設定を変更 -

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAdminUser',),
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
 #   'PAGE_SIZE': 25,
    'ORDERING_PARAM': 'sort'
于 2015-06-16T12:36:45.127 に答える