我做了一个ComBox帮定到了DataSet中的admin表(就三个字段,id,name,pw)
  displayMember是name
  valueMember是id ;
现在我想根据一个已有的id值,把它对应的name做为初始显示。
在网上找了好久都没有解决,望高手帮帮忙.....

解决方案 »

  1.   

    1)给comboBox1.Text值,如果是通过BindingSource,则当前行就是值
    2)给comboBox1.SelectIndex = n;
       n = comboBox1.Items.IndexOf("值"); // 确定索引 
      

  2.   

    我是通过BindingSource的,但我不想要第一行显示假设表中有如下数据
    1   aaa   aaa
    2   bbb   bbb
    3   ccc   ccc默认的它会显示aaa,但现在我想根据外面传来的id值2让combox显示bbb
      

  3.   

    3楼已解呀
    void SetComboxValue(int id)
    {
      comboBox2.SelectedValue=id
    }
      

  4.   


    别用BindingSource,自己写代码绑定,用BindingSource给不了你什么好处,以后扩展起来会非常麻烦//一个简单的绑定例子
    SqlConnection con=new SqlConnection ("Data Source=.;database=Customers;User ID=sa;Password=;");
    SqlDataAdapter da = new SqlDataAdapter("select * from users", con);
    DataSet ds = new DataSet();
    da.Fill(ds);
    DataTable dt = ds.Tables[0];
    comboBox1.DataSource = dt;
    comboBox1.DisplayMember = "name";
    comboBox1.ValueMember = "id";
    //然后再使用下面的代码来实现你要的功能
    comboBox1.SelectedValue = id;
      

  5.   

    好搞定了,原来是自己在绑定数据之前写的comboBox1.SelectedValue = id;
      谢谢各位了