【问题标题】:How to populate a ComboBox from a DataSet如何从数据集中填充组合框
【发布时间】:2012-02-09 15:24:25
【问题描述】:

我正在尝试从仅包含特定行的数据集中填充组合框,这是我的代码:

comboBox2.DataSource = glObalDataSet.Tables["JOBURI"].Select(
               "CONT = '" + comboBox1.SelectedValue.ToString() + "'");

数据集工作正常,已填充,有人可以告诉我哪里做错了吗?

【问题讨论】:

  • 您面临的问题是什么?详细说明您的问题。
  • 这是 WinForms、WPF、ASP.NET 还是 Silverlight?
  • 它没有显示任何错误,也没有填充我的组合框

标签: c# winforms data-binding combobox dataset


【解决方案1】:

使用 DataView 过滤结果。

DataView dv=glObalDataSet.Tables["JOBURI"].DefaultView;
dv.RowFilter="CONT = '" + comboBox1.SelectedValue.ToString() + "'";
comboBox2.DataSource=dv;
comboBox2.DisplayMember="JOB";
comboBox2.ValueMember="ID";

您需要设置Combobox控件的DisplayValue成员属性。

【讨论】:

  • 我试过这样做,但它不起作用:comboBox2.DisplayMember = dv.Table.Columns[1].ToString();
  • 共有 3 列 {"CONT","JOB","id" }
  • 你设置了DisplayMember="JOB"(绑定单个字段就不需要设置ValueMember)?还要仔细检查 combbox1.SelectedValue.
  • 我使用了comboBox2.DisplayMember = "JOB"; MessageBox.Show(comboBox1.SelectedValue.ToString());仍然没有结果:|
  • 我使用 StepOut 工具 (F11) 查看我的数据视图中有哪些信息,我看到它在数据集中找到了表“JOBURI”,但是当它到达 RowFilter 时,要过滤到列“CONT”的行,它没有项目。它是空的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-11
  • 1970-01-01
  • 1970-01-01
  • 2012-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多