如combobox下拉框显示的是
上海  021
杭州  0571
绍兴  0575
北京  010
…    …当选择第二项后只显示“杭州”DataView dv = new DataView();
SqlDB db = new SqlDB();
dv = db.DataView("select Name,Code from TClientInfo where ClientTypeCode='代理商'");
for (int i = 0; i <= dv.Count - 1; i++)
{
    cbo_client.Items.Add(dv[i]["Name"].ToString() + " || " + dv[i]["Code"].ToString());
    cbo_client.AutoCompleteCustomSource.Add(dv[i]["Name"].ToString() + " || " + dv[i]["Code"].ToString());
}好像有DisplayMember和ValueMember,怎么用啊,请教下万分感谢

解决方案 »

  1.   

    参考一下
    http://www.codeproject.com/cs/combobox/DotNetMultiColumnComboBox.asp
      

  2.   

    觉得你不应改变Text的显示,而是取值的时候使用SelectedValue。不知道这样是不是你能接受:不使用Items.Add方法添加,而是使用数据绑定来解决。比如:DataView dv = new DataView(); 
    SqlDB db = new SqlDB(); 
    dv = db.DataView("select Name+Code as Name,Code from TClientInfo where ClientTypeCode= '代理商 '"); 
    cbo_client.DataSource =dv ;
    cbo_client.DisplayMember = "Name";
    cbo_client.ValueMember = "Code";
    //取值的时候:Console.WriteLine(cbo_client.SelectedValue);
    输出的是Code的值。而ComboBox显示的是Name的值
      

  3.   

    看看下面演示代码,希望能解决你的问题
     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void Form1_Load(object sender, EventArgs e)
            {        }        private void button1_Click(object sender, EventArgs e)
            {
                this.comboBox1.Items.Clear();
                abc a;
                for (int i = 1; i <= 10; i++)
                {
                    a = new abc();
                    a.ID = i.ToString() + "ID";
                    a.Name = i.ToString() + "Name";
                    this.comboBox1.Items.Add(a);
                }
            }        private void comboBox1_DropDown(object sender, EventArgs e)
            {
                this.comboBox1.DisplayMember = "";
            }        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                this.comboBox1.DisplayMember = "ID";
            }
        }
        public class abc
        {
            private string m_ID;
            private string m_Name;        public string ID
            {
                get
                {
                    return m_ID;
                }
                set
                {
                    m_ID = value;
                }
            }
            public string Name
            {
                get
                {
                    return m_Name;
                }
                set
                {
                    m_Name = value;
                }
            }
            public string dis
            {
                get
                {
                    return m_ID + "||" + m_Name;
                }
            }
            public override string ToString()
            {
                return m_ID + "||" + m_Name;
            }
        }