我想给ComboBox中绑定来自数据库中的数据,比如数据库中有表userInfo,表中有两个字段id,name。
我用user对象将数据传递个ComboBox的
当我给ComboBox绑定数据时,通常的做法是ComboBox.Items.add(user.name);
当我选择一项后,想要获得该项的id只能通过name重新去查询并获取id,但有没什么方法直接把id,name同时绑定在一项呢?那样我就可以直接选择就能获得该项id了

解决方案 »

  1.   

    this.comboBox1.DisplayMember = "作为现实文本的字段或属性名";//显示的信息  
    this.comboBox1.ValueMember = "作为值读取的字段或属性名";//Value  
    this.comboBox1.DataSource=数据源; 
    DataRowView drv = ComboBox1.SelectedItem as DataRowView; 
    string sname= drv.Row["colName"].ToString(); 
    string svalue= drv.Row["colValue"].ToString();
      

  2.   

    搞定啦。谢谢还是谢谢你给我指引
    DisplayMember  绑定的是需显示的字段,  
    ValueMember    绑定的是对应的值
    例如DisplayMember  ="ID"--列名  
      

  3.   


    //比如说你已经获取了User对象的集合 List<User> userList;
    this.comboBox1.DisplayMember = "Name";//User的Name属性
    this.comboBox1.ValueMember = "Id";//User的Id做为值 
    this.comboBox1.DataSource = userList;
    //取值的时候:
    int Id = int.Parse(this.comboBox1.SelectValue);
    //或者这样:
    User user = this.comboBox1.SelectItem as User;//此时comboBox中的Item都是User对象
    int id = user.Id;
    string name = user.Name;应该解决并了解了吧