2015-12-09 21 views
0

我有一個jqGrid,我在其上調用filterToolbar並設置loadonce = true。當我開始搜索時,第一次搜索不起作用。第二次搜索很有效。 有什麼想法? 的jqGrid( 'filterToolbar', {stringResult:假, searchOnEnter:假,enableClear:假, beforeSearch:函數(){ presenter.grid.setGridParam({loadonce: 「真」});} , afterSearch :function(){ }});使用filterToolbar進行客戶端搜索不會第一次運行

回答

0

首先,loadonce的值應該是布爾代替字符串:(loadonce: true而不是loadonce: "true")。

秒,loadonce將僅在處理從服務器加載的數據時使用。如果沒有設置loadonce: true,那麼HTML表格將填充數據,但服務器響應並且從服務器返回的數據不會保存在本地。另一方面,如果loadonce: true則jqGrid將從服務器返回的數據保存在本地jqGrid選項data中。但我必須重申,在處理服務器響應期間,jqGrid只填充data。此外,如果loadoncetrue,則jqGrid會在處理數據結束時將選項datatype更改爲"local"。因此,所有將看起來像本地填充網格:datatype"local"data選項充滿數據(所有數據頁)。

您當前的代碼只需將loadonce選項設置爲true即可。它不會填充data選項,也不會將datatype更改爲"local"。而不是那個jqGrid將繼續處理當前的過濾請求,它會發送請求到服務器。只有在處理完服務器響應(返回過濾數據的請求)之後,jqGrid纔會考慮loadonce: true選項,它將填充data,它將將datatype更改爲"local"

相關問題