2016-07-14 56 views
0

我在表單中有一個comobobox。 組合框包含一個遠程存儲(帶分頁)作爲一個巨大的數據集。extjs combobox顯示字段與遠程存儲

組合框的值將通過使用form.setValues()的表單進行設置。 此時,組合框的商店尚未加載。

現在,如何顯示組合框的值,使用按窗體設置的值加載商店。

有沒有一種方法,商店將自動加載,設置值作爲過濾器? (像上改變濾光器)

或者

我必須手動監聽變化,引發了嗎? (這是我無法實現的,因爲我最終陷入混亂,試圖設置值和處理不同的事件。)

+0

您使用的是什麼版本的extjs?如果是extjs 5或更新版本,您可以使用數據綁定,並使用Extjs 6將過濾器的值綁定到數據字段的值 –

+0

Im – optimusPrime

回答

0

據我所知(但我可能是錯的),組合框和分頁不能一起工作,因爲無法在組合框中切換頁面,並且組合框無法過濾客戶端,因爲過濾器無法應用於尚未加載的頁面。

您希望刪除分頁並將遠程過濾添加到商店。然後,下拉框應根據組合中設置的值進行過濾。如果我是你,我還將定義一個最小長度,用戶在組合內顯示任何內容(例如3)之前必須輸入的最小長度,然後在商店中添加一個beforeload事件來檢查組合值的長度是3個或更多。

+1

已經存在分頁並且工作正常。我的情況是:當組合字段的值由封閉表單設置時,組合將不具有顯示值,因爲它必須查詢服務器以獲取相關記錄。有一個'autoLoadOnValue'配置用於此目的 - 但這種解決方案只有一半。 – optimusPrime