如何将新值分配到组合框列表中?

时间:2015-05-09 16:25:30

标签: c# combobox

我正在使用Windows CE,我的界面及其内容是根据所选数据库动态生成的。

组合框从数据库(description table)中提取值,并将选定的值(value table)保存到不同的表中。插入过程中没有问题。组合框工作得很好。

但是,当我尝试执行插入数据的检索时,组合框无法显示插入的值。我可以使用任何功能来解决这个问题吗?

selectedDescription = dr["value"].ToString().Split(',').ToList<string>(); 

if (dr["type"].ToString() == "multiple") {

        ComboBox combo = new ComboBox();
        combo.DataSource = selectedDescription;
        combo.Width = 60;
        combo.Height = 27;
        combo.Location = new Point(currentX, currentY);
        combo.Tag = Id;

//如果getVal不为null(表示为此特定组合选择/插入了值),则combo.DataSource应为插入值。

但是,当我指定combo.Datasource = ds["val"].ToString();时,我无法在设备上打开此模块。然后我尝试了combo.SelectedValue,但组合框却显示selectedDescription

if (getVal != null) {

    foreach (DataRow ds in getVal.Tables[0].Rows) {

        if (Convert.ToInt32(ds["descId"].ToString()) == combo.Tag)
        {

            combo.SelectedValue = ds["val"].ToString();

        }

1 个答案:

答案 0 :(得分:0)

我为您开发了一个样本来处理您的情况

这里我首先向combobox添加一些数据

   // first databind combobox
    string cboData="1,2,3,4,5";
    comboBox1.DataSource = cboData.Split(',').ToList<string>(); 

现在尝试在数据绑定后添加一些值。 所以首先我将搜索数据,如果找到然后设置它,但如果没有找到,则将其添加到数据源并设置数据。

    int i = comboBox1.FindStringExact("6");
    if (i >= 0)
    {
        comboBox1.Text = "6";
    }
    else
    {
        List<string> str1 = (List<string>)comboBox1.DataSource;
        str1.Add("6");
        comboBox1.DataSource = null;
        comboBox1.DataSource = str1;
        comboBox1.Text = "6";
    }

如果代码还不清楚,请问我。