2

MVC 4 で jqGrid を使用してデータを表示しています。日付/日時列を含むグリッドがあります。DateTimeグリッド日付列のC# 変数データを返しています。formatoption: {srcformat: 'm/d/Y', newformat: 'm/d/Y'}for date 列とformatoption: {srcformat: 'm/d/Y h:i:s', newformat: 'm/d/Y h:i:s A'}for datetime 列で問題なく表示されています。ただし、この列の並べ替えは、ユーザーが列ヘッダーをクリックしても反映されません。ここcolModelに日付列があります

{
    name: 'TestOrderDate', index: 'TestOrderDate', formatter: 'date',
    sorttype: 'date', width: 90, align: 'center', fixed: true,
    formatoptions: { srcformat: 'm/d/Y', newformat: 'm/d/Y' }
},

& 日時列

{
    name: 'TestOrderDate', index: 'TestOrderDate', formatter: 'date',
    sorttype: 'date', width: 90, align: 'center', fixed: true,
    formatoptions: { srcformat: 'm/d/Y h:i:s', newformat: 'm/d/Y h:i:s A' }
},

colModelどのソート動作が機能しないために何が問題なのか、誰にも教えてもらえますか。

4

3 に答える 3

3

jqGrid は日時による並べ替えをサポートしていませんが、日付のみによる並べ替えをサポートしています。したがって、以下の例に示すように、PDF に示されている代替を使用できます。グリッド内のデータがすでに Date と Time でソートされていて、 Numbers のようにすべての行の Index が 1, 2, 3, .... n の列もある場合。インデックス列で日時を並べ替えることができます。これにより、日時の昇順または降順が常に保証されます。

jqGrid の DATE と時刻または日付を別の列の内容で並べ替えることができます。以下の onSortCOl の例のように:

            onSortCol: function(name,index) { if(name == 'createDateTime') { jQuery("#viewNotesGrid").setGridParam({sortname:"ID"}); } }
于 2014-05-23T14:19:10.777 に答える
0

私の修正は、jqGrid をだまして int をロードし、日付を表示することです。

私の colModel は {name: 'startDt', index: 'startDt', width: 50, sortable: true, sorttype: ' int ', formatter: ' date ', formatoptions: {srcformat: " U ", newformat: "dMY" です}}、

グリッド データをロードするときは、日付文字列をミリ秒を 1000 で割った値に変換します。したがって、私の場合、startDt は非常に大きな整数値です。

日付が空白/null の場合は、グリッドに '' をロードするだけです。

すばらしいのは、空白/null が適切にソートされるようになったことです。昇順では最初に空白/null があり、降順では最後に空白/null があります。

于 2015-03-03T21:06:56.883 に答える