2017-08-10 41 views
0

我在jqgrid中有多個列,但搜索功能在日期列中不起作用。它從存儲過程(如「2017-03-03 12:12:12」)獲取數據並將其顯示給網格。當我搜索「2017」時,它不會顯示任何東西。jqgrid:搜索工具欄在日期列中無法正常工作

這裏是

`<cc1:JQGridColumn 
     DataField="Date" 
     HeaderText="Date" 
     Editable="true" 
     DataType="Datetime" 
     Sortable="true" 
     Searchable="true" 
     SearchToolBarOperation="BeginsWith" 
     Width="140" > 
</cc1:JQGridColumn> 

`

我已經試過

·修改存儲過程和轉換日期時間爲varchar,如 「20170908」

·改變SearchToolBarOperation我的代碼的一部分=「BeginsWith」爲SearchToolBarOperation =「Contains」,它只能使它能夠搜索前4個數字,如「2017」。當我輸入「201708」時,它沒有工作。

·還試圖「IsEqualTo」「IsGreaterThan」上SearchToolBarOperation但他們沒有工作

我希望能夠做的開始,與之相匹配的,所以我希望它給我的數據當我如鍵入「 2017-08「或」2017「或」2017-08-08「。

非常感謝您閱讀我的問題。我希望你能幫助我。

回答

0

如果在服務器上執行搜索,則需要在服務器上微調搜索代碼。 jqGrid只是發送操作和字符串到服務器並期望結果。

爲了演示這個問題,在搜索開啓時查看結果 - 它應該與網格執行的結果相同,在日期參數爲build-ed的控制檯中執行存儲過程。

我建議你閱讀如何在日期字段搜索你的數據庫服務器文檔,並查看是否在所有的開頭和類似命令適用

+0

非常感謝你提供的信息。我在存儲過程中執行了一個查詢,並看到我如何得到結果。事實證明,我可以像'2017/12/12'或'2017/12/12 12:12:12'這樣的格式進行搜索,但不能搜索'2017/12'。我希望能夠以這種格式獲得結果。有什麼辦法可以做到嗎? – momotaro

+0

根據使用的數據庫,您可以將日期字段轉換爲字符串並在搜索中使用它。在MySQL數據庫中,這是PostgresSQl中的CAST函數,這是to_char函數。查看你的SQL文檔來轉換函數。 –