DataSet DS = VS_Select.ComBox_values(MC, out message);
                
                if (DS != null && DS.Tables.Count > 0 && DS.Tables[0].Rows.Count > 0)
                {
                    CB.DataSource = DS.Tables[0];
                    CB.DisplayMember = "MC";
                    CB.ValueMember = "DM";
                    CB.Text = "";
                }
                else
                { MessageBox.Show(message); return; }
上边代码已实现ComboBox的数据绑定.
问题是:当指定:  comboBox1.SelectedValue = YHID;(YHID为绑定对应值)后.Text值显示为空白;
意思就是当设定指定的SelectedValue 值,但ComboBox没有显示相应的Text值;请大家帮帮忙.....

解决方案 »

  1.   

    使用SelectedItem,或者selectedIndex或者selectedText来设置或者获取数据selectedvalue比较诡异
      

  2.   

    上面已经绑定DisplayMember了,为什么要加
    CB.Text = "";
    这一行?把这一行去掉
      

  3.   


    //第一次显示为空白可以在绑定后这样
    CB.SelectedIndex = -1;
      

  4.   


     public partial class Form1 : Form
        {
            private DataTable dt;
            public Form1()
            {
                InitializeComponent();
                dt = new DataTable();
                dt.Columns.Add("Text");
                dt.Columns.Add("Value");
                dt.Rows.Add("a", 1);
                dt.Rows.Add("b",2);
                comboBox1.DisplayMember = "Text";
                comboBox1.ValueMember = "Value";
                comboBox1.DataSource = dt;
                comboBox1.Text = string.Empty;
            }        private void button1_Click(object sender, EventArgs e)
            {
                comboBox1.SelectedValue = 2;
            }
        }
    我的完全有效果.
      

  5.   

    真就解决了...晕...不会就是这个问题吧...我一直都是用那个"" CB.Text = "";""呢...不会就真这么简单,害我还想了那么久.
    能说说原因吗?