C# WinForm:现在有个DataRowCollection,里面的DataRow是三列A、B和C现在要将这个DataRowCollection绑定到ComboBox上,即ComboBox中每一项对应DataRowCollection中的一行数据但格式上要求ComboBox项显示为: 【A-B-C】  的样式我现在的做法很简单是:
 DataRowCollection rs =...
 foreach (DataRow r in rs)
    comboBox1.Items.Add(String.Format("{0} - {1} - {2}",r["A"],r["B"],r["C"]));
这样显示是没问题了,但当我选中了comboBox中某项时,我想获得代表那项的DataRow,即DataRowCollection中对应的那个该怎么做?  试了DataSource、DataBindings等,它们的DisplayMember和ValueMember都是对应的单个字段的该怎么做?  不要再来个循环去DataRowCollection中查询或者用字符串拆分查询之类的了,谢谢

解决方案 »

  1.   

    这样,你在表中再添加一列,也就是你要绑定到combobox的那列,用它做,这应该是唯一的了吧,然后用这个去选择,应该好点,也就是循环一次,反正你也有一次循环,以后可以通过这个直接查找
      

  2.   

    在你表里加一列表示DataRowCollection里面的行数0,1,2……,把它绑定在ComboBox上,并在ValueMember绑定你添加的这一列名。这样你就可以通过ValueMember的值直接去操作DataRowCollection了
      

  3.   

    楼上的是个好办法,但是用绑定的话在combobox里好象只能显示出某一列呀 你看DisplayMember和ValueMenber的说明,都是指某一列呀