DevExpress WPF Subscription擁有120+個控件和庫,將幫助您交付滿足甚至超出企業需求的高性能業務應用程序。通過DevExpress WPF能創建有着強大互動功能的XAML基礎應用程序,這些應用程序專注於當代客戶的需求和構建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件的衍伸產品,還是以數據爲中心的商業智能產品,都能通過DevExpress WPF控件來實現。
問題
想讓組合框編輯具有無限滾動功能,例如網格控件無限異步源(https://docs.devexpress.com/WPF/120193/controls-and-libraries/data-grid/bind-to-data/bind-to-any-data-source-with-virtual-sources/virtual-sources-overview)..),每次向下滾動組合框時,它將調用rest api來獲取數據並將其添加到組合框中資源。
有沒有辦法在組合框編輯中做到這一點?想讓它像每次FetchRowsAsync方法一樣簡單地進行網格控制時,滾動到底部列表。
在嘗試使用AutoSuggestEdit,但是ComboBoxEdit中似乎沒有類似Value Member的東西? 因爲需要使用另一個屬性(例如“ Id”)將值存儲在Edit Value中,但文本成員是從字符串屬性(例如“ Description”)中獲取的。
解決方案
LookUpEdit和ComboBoxEdit都不能正確使用從虛擬數據源檢索的數據。 最接近的替代方法如下:
- 請改用即時反饋數據源來替代;
- 使用AutoSuggestEdit並處理其QuerySubmitted 事件,請參見以下示例:How to use AutoSuggestEdit with InfiniteAsyncSource.
在這兩種情況下,都可以使用PopupContentTemplate屬性來自定義彈出窗口中放置的GridControl,以使其根據需要顯示。另請參見LookUpEdit - How to Customize the embedded grid control。
AutoSuggestEdit沒有ValueMember,該編輯器使用動態數據,無法訪問整個源集合。 因此它無法通過ID查找和顯示數據源對象,如果只需要從AutoSuggestEdit的下拉列表中選擇的對象中檢索ID,則可以處理RecommendationionChosen事件:
C#
void SuggestionChosen(object sender, AutoSuggestEditSuggestionChosenEventArgs e) { var id = ((Customer)e.SelectedItem).CustomerId; }
DevExpress技術交流羣3:700924826 歡迎一起進羣討論