【问题标题】:Combobox Datasource not creating items组合框数据源不创建项目
【发布时间】:2012-10-15 18:10:41
【问题描述】:

经过大量搜索,我仍然没有找到解决方案。

我在 VS 2010 中创建了一个列表并将其绑定到 ComboBoxDataSource 属性显示整个列表,但表单上的组合框为空,框的 items 属性也是如此。

    private List<string> classes = new List<string>();
    private BindingList<string> bindingClasses;

        classes.Add("Spinning");
        classes.Add("Step");
        classes.Add("Pilates");
        classes.Add("Kickboxing");
        classes.Add("Body Sculpting");

        bindingClasses = new BindingList<string>(classes);
        classesComboBox.DataSource = bindingClasses;

我也试过添加

classesComboBox.DisplayMember = "Spinning";

而没有bindingList之间也无济于事。

为什么这不起作用?

【问题讨论】:

  • 您没有指定我们是在谈论网络还是桌面......
  • Combobox-es 在 asp.net 中不可用。该代码工作正常,请确保将代码放在Form_Load 或相关内容中。此外,如果您更改 BindingList 的内容,下拉菜单也会更改。
  • 您的示例可以完美地放入 Form_Load。你应该提供一个完整的例子。

标签: c# visual-studio-2010 combobox datasource bindinglist


【解决方案1】:

失去 BindingList,只需将 DataSource 设置为 List 本身。

List<string> classes = new List<string>();
classes.Add("Spinning");
classes.Add("Step");
classes.Add("Pilates");
classes.Add("Kickboxing");
classes.Add("Body Sculpting");

classesComboBox.DataSource = classes;
classesComboBox.SelectedItem = "Spinning";

【讨论】:

    【解决方案2】:
    classesComboBox.DataBind();
    

    您需要指定它应该何时获取数据。

    【讨论】:

      猜你喜欢
      • 2015-03-03
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      相关资源
      最近更新 更多