0

我相信这个问题有点新奇,但我无法以正确的方式解决它。

简要描述;简介:

  1. 我有一个继承自 ComboBox 类的类,它在构造函数中执行一些数据绑定:
    var mdl = 新模型();

    ValueMember = "id";
    DisplayMember = "单位";
    数据源 = mdl.getUnits();

这里一切都好。组合框由所需数据填充。

  1. 然后我有另一个带有函数editIngridient的表单。功能如下;
    公共布尔editIngridient(int id)
    {
    currentId = id;

    var row = mdl.getIngridient(id);

    txtIngridient.Text = (string)row["ingridient"];
    cmbUnit.ID = (int)row["unitId"];
    numNotifyQty.Value = (int) row["notifyQty"];

    显示对话框();

    返回真;
    }
  1. 现在,当表单弹出时,文本框和数字框由所需的值填充,而组合框由第一个值填充。

  2. 如果我将组合框数据绑定函数作为 editIngridient 函数内的第一行运行 - 一切正常。

请指出我的愚蠢。

非常感谢!

4

1 回答 1

0

你没有说你的数据源是什么,但我假设那是数据表,所以你可以这样做:

DataRowView rowData = comboBox1.SelectedItem as DataRowView;
int id = Convert.ToInt32(rowData["id"]);
string name = rowData["unit"].ToString();
于 2011-09-07T14:46:00.887 回答