我的一个DataGridView中有一列的类型为DataGirdViewComboBoxColumn,
通过如下的方式进行数据绑定:
        Me.WidgetNameColumn.DataSource = Me.WidgetsDropDownBindingSource
        Me.WidgetNameColumn.DataPropertyName = "Description"
        Me.WidgetNameColumn.DisplayMember = "WidgetName"
        Me.WidgetNameColumn.ValueMember = "Description"然后我在访问这一列中的某个单元格的Value的时候,获取的值为ValueMember字段对应的值,
但我现在希望能获取DisplayMember字段对应的值,该怎么获取?另外一个问题就是:
若ValueMember列中有两个值是相同的,则就算这两个值对应的DisplayMember不同,那么也会显示相同的值所以,我觉得微软做的那个DataGirdViewComboBoxColumn的那个DiaplayMember没什么作用,因为:
1.显示时要根据ValueMember来显示;
2.DiaplayMember的值不能获取到;

解决方案 »

  1.   

    to 然后我在访问这一列中的某个单元格的Value的时候,获取的值为ValueMember字段对应的值,
    但我现在希望能获取DisplayMember字段对应的值,该怎么获取?一般的做法,需要在主表中把ValueMember和DisplayMember都放到DataTable中,只是在绑定DataGridView的时候,隐藏ValueMember。这样你绑定ComboBox操作起来就比较方便。to 另外一个问题就是:
    若ValueMember列中有两个值是相同的,则就算这两个值对应的DisplayMember不同,那么也会显示相同的值这属于你的表设计有问题,因此对于两个不同的DisplayMember的ValueMember一样这样的数据来说,无法从valuemember得到displaymember,即这是不可逆。
      

  2.   

    http://community.csdn.net/Expert/topic/5107/5107471.xml?temp=.3726618