2

3 つの列を表示する jqGrid があり、そのうちの 1 つは日時 (返される SQL Datetime フィールド) です。colModel の設定は次のとおりです。

               colModel:[
            {name:"col1",....,sortable:false},
            {name:"col2",....,sortable:false},
            {name:"SendTime",index:"SendTime",width:col3width,align:"left",formatter:"datetime",formatoptions:{srcformat:"ISO8601Long",newformat:"LongTime"},xmlmap:"SendTime",sortable:false}
            ],

SQL から返される日付は、次の形式です。

YYYY-MM-DDTHH:mm:ss

jqGrid のどのフィールドもソート可能ではなく、ORDER BY返されるデータの順序は SQL によって制御されます。

返される日付形式を変更して、途中の「T」を省略したいと思います - YYYY-MM-DD HH:mm:ss。それができない場合は、フォーマットされた軍用時間だけを使用することを検討します. colModel 設定でいくつかの形式オプションを試しましたが、日付または時刻の書式設定のみに成功しましたが、両方を一度に書式設定することはできませんでした。

これにはカスタム フォーマッタが必要ですか、それとも jqGrid の設定を見落としていますか? 助けていただければ幸いです。

ありがとう!S

4

2 に答える 2

5

jqGrid には事前定義済みformatter:"date"がありますが、ありませんformatter:"datetime"(ドキュメントを参照してください)。そのため、フォーマッタの名前を修正して機能させる必要があります。

jqGrid の最新バージョンはYYYY-MM-DDTHH:mm:ssYYYY-MM-DD HH:mm:ss. したがって、バックエンドに変更を加える必要はありません。

sorttype: "date"代わりに使用することを検討する必要があります。loadonce: trueまたはを使用すると役立つ場合がありますdatatype: "local"

于 2013-05-21T13:58:41.980 に答える
0

jqgrid フォーマットを日付にしようとする代わりに、代わりに sqlCONVERTを使用して適切にフォーマットしてから、 grid にフィードするデータセットに入れることができます。どの SQL を使用しているかはわかりませんが、SQL Server では次のようになります。

SELECT CONVERT(VARCHAR(19), GETDATE(), 120)

最終的に次のようになります

2013-05-21 10:18:39

フォーマットの詳細については、

http://www.sql-server-helper.com/tips/date-formats.aspx

于 2013-05-21T14:19:00.597 に答える