有没有一种方法来加载数据从IQueryable到一个组合框没有循环

本文关键字:组合 一个 循环 数据 方法 一种 加载 有没有 IQueryable | 更新日期: 2023-09-27 18:14:26

基本上我有一个IQueryable数据,我希望将一个字符串(用于显示)和一个int(用于选择的数据)绑定到一个组合框中,以便用户可以选择适当的选择。通常我会创建组合框,然后循环通过IQueryable向组合框添加项目。但我突然想到,也许有一种方法可以做到这一点,而不需要循环。

有没有一种方法来加载数据从IQueryable到一个组合框没有循环

设置ComboBox DataSource为对象

你是说Windows窗体组合框吗?你可以使用AddRange:

combobox.BeginUpdate();
combobox.DisplayMember = "Name";
combobox.Items.AddRange(myQueryable.Select(q => new { q.Id, q.Name }));
combobox.EndUpdate();

创建存储ID和名称的匿名对象。不过,直接处理原始对象可能会更容易,并删除。select .

你指的是哪种技术(WPF, HTML, WinForms)?WPF的变体是:

ComboBox ItemsSource="{Binding itemsquerable}"/>

我假设这个组合被绑定到这样的模型:

 class SomeViewModel {
      public IQuriable<SomeEntity> ItemsQueriable { get; private set; }
 }

但是,实际上我认为最好将您的项目控件绑定到IList<>而不是IQueriable<>,您可以使用。tolist()扩展方法转换