web-dev-qa-db-ja.com

jqGridのデフォルトのソート順?

JqGrid sortnameおよびsortorderプロパティは、実際にはデータセットをソートするのではなく、上向き/下向き矢印を表示するだけのようです。

ダウンロード時にデータセットを並べ替えるにはどうすればよいですか?

列ヘッダーをクリックすると並べ替えはうまく機能しますが、デフォルトの並べ替えをデータに適用したいと思います。


更新:[次へ]ボタンをクリックすると、次のリクエストでデータが並べ替えられます。

これにより、UIが少し混乱し、データが列に下向き矢印で読み込まれ、データは並べ替えられませんが、[次へ]をクリックするとデータが並べ替えられます。

Sortnameとsortorderを省略しても、jqGridにソートアイコンが表示されるようです-奇妙です。

16
Marcus Leon

同じパラメータを2回指定している可能性があります(コピー&ペーストのプログラミングでよくある間違いです:)違反はありません。私もやります。)

OpeningDateの降順で並べ替えたいとします

..... options .... 
sortname: "OpeningDate",
sortorder: "desc",  <---- assume you write this line and expect to sort descending
..... some other options .... 
sortorder: "asc",   <---- and this line may also be there but you may not be noticing it 
..... and other options .... 

2番目の「sortorder」オプションは最初のオプションをオーバーライドし、降順でソートすることはできません

14
Veysel Ozdemir

私も同じ問題に直面していました。これを使用してくださいデータをロードした後

$("#tableId").jqGrid('sortGrid','colName', false, 'asc');

または

$("#tableId").sortGrid('colName', false, 'asc');

ブール値がtrueに設定されている場合、グリッドは再ロードされます。最後のパラメーターは、ソート順に応じて、「asc」/「desc」にすることができます。

「sortname」の代わりに「sortName」を使用した古い例に基づいてクライアントスクリプトを作成するという、私と同じ間違いを犯した可能性があります。

2
zdux

使用してみてください

$("#list").jqGrid('setGridParam',{ page: 1 }).trigger("reloadGrid");

または

$("#list").jqGrid('setGridParam',{ rowNum: 10 }).trigger("reloadGrid");

(10をrowNumパラメーターとして定義した値に置き換えます)。それでも問題が解決しない場合は、質問にコードを投稿してください。

2
Oleg

問題は、最初のデータセットを要求するときにパラメーターsortNameまたはsidxが読み取られることです(私は信じています)

1
zdux

/ Cheesy Answer Alert

初めてロードするときに、ソートされたアイコンを非表示にしてみませんか?初めて誰かが並べ替えるときは、それを再表示すると、意図したとおりに機能します。ユーザーが並べ替える列を選択するまで、並べ替えなしで読み込むことが意図されていたようです。

0
Jason Slocomb