0

ajax トランスポートを介してデータを取得する剣道データグリッドがあります。ページング機能は完璧に機能します。ただし、列見出しをクリックしてデータを並べ替えると、コントロールは空白の並べ替えフィールド パラメーターを送信し続けます。

興味深いことに、コントロールはフィールド名ではなくソート方向を送信します。

sortable を true、DataSource に設定し、serverPaging を true に設定し、各列のデータ型を定義しました。私が見逃しているものは他にありますか?

残念ながら、今はコードを投稿することはできませんが、単純な方法でこれを解決できない場合は、何かをまとめることができます.

Web サービスに送信される投稿は次のとおりです。

endDate: "10/31/2013 12:00 AM"
page: 1
pageSize: 20
skip: 0
sort: [{field:[], dir:asc, compare:null}]
    0: {field:[], dir:asc, compare:null}
       compare: null
       dir: "asc"
       field: []
startDate: "10/1/2013 12:00 AM"
take: 20
4

1 に答える 1

0

この場合、問題は DataSource.schema.model.fields オブジェクトの作成方法が原因でした。最初に、次のような多次元配列を渡しました。

var fields = [
    fields['Field1'] = [];
    fields['Field1']['type'] = 'string';
    fields['Field1']['editable'] = false;
    fields['Field1']['sortable'] = true;
];

これをキーと値のペアに変更すると、並べ替えの問題が解決しました。

var fields = {
  Field1: {
     type: 'string',
     editable: false,
     sortable: true
  }
};

次に、fields オブジェクトが DataSource.schema.model.fields に渡されます。

于 2013-10-15T20:43:20.037 に答える