私はASP.NET MVC 3ページを持っています。その上に、私はajax呼び出しからのJSONデータを使ってjqGridに変換するテーブルを持っています。グリッドは次のように設定されています。jqGridフィルターまたは日付で検索クライアント側が動作しない
myGrid = $('#myGrid');
myGrid.jqGrid({
caption: 'My Grid',
datatype: 'local',
data: data.rows,
height: 250,
pager: '#myPager',
viewrecords: true,
colModel: [
...,
{
label: 'blah',
name: 'blah',
align: 'left',
sortable: true,
editable: false,
width: 85,
formatter: 'date',
sorttype: 'date',
datefmt: 'm/d/Y',
formatoptions: { srcformat: 'm/d/Y', newformat: 'm/d/Y' }
},
...
]
});
// turn on filter toolbar
myGrid.filterToolbar();
data.rowsはajax呼び出しから戻されます。これは1つを除いてすべての方法で機能します。私はクライアントサイドをページ設定し、クライアントサイドをソートし、colModelを表示するフィールド以外のすべてのフィールドで検索できます。この「blah」フィールドは日付フィールドで、mm/dd/yyyy形式で日付を正しく表示します。しかし、私はツールバーに11/17/2010のようなものを入力してEnterキーを押すと、0レコードが返されます。
は、だから私はjqGridコードに深く掘って、ここではそれが検索前に発生するものです:(M
{"groupOp":"AND","rules":[{"field":"blah","op":"bw","data":"11/17/2010"}]}
を最終的に、それはすべての行を通過するとき、それは、フィールド上にevalを操作を評価します)& & p.push(本)ライン、mはこれです:フィールドが日付であることを認識していないよう
(String(this.blah).substr(0,10) == String("11/17/2010"))
基本的に、それは私には見えます。それはparseDateの代わりにparseを呼び出します。誰にどのようにこれを修正するためのアイデアがありますか?私はサーバー側を検索することは簡単です、私はちょうどその文字列を渡すことができます、それを解析し、バムを知っている。しかし、できる限りクライアント側にいたいと思います。 OlegとTomが書いたサンプルのいくつかでこれを複製することができたので、問題であるか、設定に何か不足しています...
ところで、jqGridはあなたのためにAJAX呼び出しを行うことができるので、 'data.rows'の使用は必要ありません。 http://stackoverflow.com/questions/2835957/jquery-with-asp-net-mvc-calling-ajax-enabled-web-service/2836817#2836817、http://stackoverflow.com/questions/からのリンクを参照してください。 4169384/how-can-i-bind-my-view-model-to-a-jqgrid/4169848#4169848とhttp://www.trirand.com/blog/?page_id = 393 /機能要求/休憩サポート/#p21762。私はリンクを続けることができます... – Oleg
実際には、私は私のajax呼び出しの中でグリッドの作成をラップする必要がありました。その理由は、フィルタツールバーのドロップダウンフィルタを動的に更新しているため、GridUnload()を呼び出す必要があるためです。私はドキュメントを見て、トリガー( 'reloadToolbar')のようなものを見つけることができませんでした。 – Milimetric