2011-04-18 144 views
0

在向服務器發送請求之前,有無論如何驗證搜索字段(我正在使用自定義搜索)嗎?在行編輯和添加模式下,驗證工作正常。假設我想搜索列價格,並且當用戶在搜索字段中輸入文本時應該發生錯誤消息。 如果搜索沒有返回任何數據,我想在屏幕上發佈消息。我在搜索功能中看不到可以獲得服務器響應的事件。 onClose事件發生在搜索框關閉時,但我不知道如何從中獲取服務器響應?JQGrid,搜索相關問題

另一個問題,我試過使用gridResize,但它不工作,一切工作正常,我看到在右下角沒有調整大小的圖標。請大家看看下面我的代碼:

的jQuery( 「#清單」)的jqGrid( 'gridResize',{minWidth:350,maxWidth:800了minHeight:80, maxHeight:350})。

回答

0

關於自定義搜索驗證的問題的部分似乎是相同的,我回答here。答案包括the demo,其中包含'客戶'字段的驗證。

如何看到,自定義搜索在jqGrid的4.0.0版本中的grid.addons.js模塊中移動,因此它可以在jqGrid的某些更高版本中刪除。

服務器沒有特殊的搜索請求。只存在填充網格的標準請求,其中_search參數(對應於jqGrid的search參數)設置爲true,其他一些參數如filters描述了過濾條件。因此,您可以使用jqGrid的emptyrecords參數(請參閱here)。你可以按照the demo(見the answer)在網格體內顯示消息。你的問題gridResize接縫我很容易。我想,你要麼沒有包含jQuery UI JavaScript(包括CSS僅僅是不夠的),要麼你把gridResize的調用放在錯誤的地方。您沒有發佈JavaScript代碼和HTML代碼,可以顯示您已加載哪些JavaScript文件以及以何種順序。所以我不能更確切地回答。

+0

嗨奧列格,thx快速反應。我做的測試用例如下:我加載網格中的一些行,然後我執行搜索,將導致從數據庫沒有數據,我得到錯誤消息在Firefox中「找不到元素」,我的網格仍然留在相同。但是當我的研究返回一些數據時,這些數據將取代網格中的現有數據。我想這就是爲什麼當搜索沒有返回任何數據時,我沒有收到emptyrecords消息。我現在應該怎麼做? – vuvan01 2011-04-18 10:29:35

+0

嗨,我發現解決方案我自己,在服務器端,我應該返回所需的數據由jqgrid顯示emptyrecords,之前我剛從服務器返回null。無論如何,非常感謝您使用空記錄的提示。關於搜索驗證,我雖然在JQGrid中有內置驗證,但它不是,可能是我只是在等待JQGrid的內置函數 – vuvan01 2011-04-18 10:59:06

+0

@ vuvan01:不客氣!我不知道有一些計劃將搜索驗證包含在jqGrid中,所以如果你需要它,你將不得不自己實現它。搜索的驗證不能像其他驗證一樣工作。例如,如果對列進行「包含」或「從頭開始」搜索操作,並且對於包含所有字符串的列,則必須至少包含5個字符,例如,您應該允許在搜索字段中輸入少於5個字符。因此,在編輯過程中,搜索驗證實際上是其他功能您可以嘗試使用http://docs.jquery.com/Plugins/validation。 – Oleg 2011-04-19 06:46:48