关于devexpress:WPF平台界面开发控件使用-绑定到异步数据源的下拉编辑器

7次阅读

共计 974 个字符,预计需要花费 3 分钟才能阅读完成。

点击获取工具 >>

问题

想让组合框编辑具备有限滚动性能,例如网格控件有限异步源 (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;
}`

正文完
 0