我有一個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調用返回。這除了一個以外的所有方面都有效。我可以對客戶端進行分頁,對客戶端進行排序,然後按照我顯示colModel的字段進行搜索。這個'blah'字段是日期字段,它以mm/dd/yyyy格式正確顯示日期。但是,當我在工具欄中鍵入類似於11/17/2010的內容並按下回車鍵時,搜索將返回0條記錄。
所以我深深挖成jqGrid的代碼,以下是它所產生它搜索之前:
{"groupOp":"AND","rules":[{"field":"blah","op":"bw","data":"11/17/2010"}]}
最終,當它經過的每一行,並評估在該領域的操作中,eval(M )& & p.push(本)線,m是這樣的:
(String(this.blah).substr(0,10) == String("11/17/2010"))
基本上,它看起來對我來說,這不是承認該字段是一個日期。它調用parse而不是parseDate。任何人有任何想法如何解決這個問題?我知道搜索服務器端很容易,我可以通過該字符串,解析它,並巴姆。但是,如果可以的話,我想留在客戶端。我可以在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 2011-01-22 11:29:35
其實,我不得不在我的ajax調用中包裝網格的創建。原因是我必須調用GridUnload(),因爲我在過濾器工具欄中動態更新了我的下拉式過濾器。我查看了文檔,找不到觸發器('reloadToolbar')。 – Milimetric 2011-01-25 20:19:17