我用dataset查询了一组数据,一共两列,有用户名和用户ID,然后把用户名赋值给 DisplayMember ,把用户名ID赋值给 DisplayMember ,在其他操作中,修改了这个值,然后再把这个修改的值返回给原来的数据库中(做一个数据更新)。
                custname.DataSource = ds1.Tables[0];
                custname.DisplayMember = "CustName";
                custname.ValueMember = "CustID";
修改时,给的值的代码是:
                tgust.CustID = objstr.ToDBC(custname.ValueMember.ToString());  
但是调试的时候,CustID所得到的值是“CustID”这个字符串,而不是ID的本身的值。
求教,该怎么样解决?

解决方案 »

  1.   

    我只是看看题目中的两个DisplayMember有什么不同。。
      

  2.   


    我写错了,一个是 ValueMember ,一个是 DisplayMember ,失误,失误……
    我只知道,第一个是绑定值的,不显示,第二个是显示出来的,我是显示在combobox中的
      

  3.   


    objstr.ToDBC不是返回一个值的么?具体的被封装了,没有注释,我也不知道,但是别的地方用的都是正确的,能把正确的值返回给变量的
      

  4.   


    custname.SelectedValue = guestds.Tables[0].Rows[0]["CustID"].ToString(); 
    这个是原来的值,但是我觉得不应该用在这个地方……
      

  5.   

    guestds.Tables[0].Rows[0]["CustID"].ToString();  别这样写 ,效率太差;
      

  6.   

    楼主是想把 custname 选中项的ID取出来吗
    这样
    tgust.CustID = objstr.ToDBC(custname.SelectedValue.ToString());   
      

  7.   


    好了,调试出来了,谢啦!!但是 ValueMember 不是返回值么?
      

  8.   

    通俗的说 ValueMember 只是存放value字段的名称