【问题标题】:Combobox set selected value from SQL组合框从 SQL 中设置选定值
【发布时间】:2018-07-13 11:52:04
【问题描述】:

我在数据库中有两个表,Notes 和 Categories(Notes 具有指向 Categories 的外键)。

我已从表 Notes 和表类别的组合框中加载数据。

现在我需要在组合框中选择与注释中相同的类别(外键)。

我的代码是:

DataTable dtCat = qc.getCategory();
cmbCategory.DataSource = dtCat;
cmbCategory.DisplayMember = "categoryName";
cmbCategory.ValueMember = "categoryId";
cmbCategory.SelectedValue = "categoryId";

【问题讨论】:

  • SelectedValue 不应该是列名。在这里查看答案stackoverflow.com/questions/2864065/…
  • @Andez 我试过了,它显示'-1' MessageBox.Show(cmbCategory.FindStringExact("Bird").ToString());

标签: c# winforms


【解决方案1】:

试试这个:

DataTable dt = new DataTable();
dt.Columns.Add("categoryName");
dt.Columns.Add("categoryId");

dt.Rows.Add(new object[] {"Cat1", "1"});
dt.Rows.Add(new object[] {"Cat2", "2"});
dt.Rows.Add(new object[] {"Cat3", "3"});

this.comboBox1.DisplayMember = "categoryName";
this.comboBox1.ValueMember = "categoryId";

this.comboBox1.DataSource = dt;

this.comboBox1.SelectedValue = dt.Rows[1]["categoryId"]; // select Cat2

所以你可以通过DataTable的Row Values中的categoryId列来指定选择的值。

【讨论】:

    猜你喜欢
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多