1. the first argument is an index where you want to put you object, you cannot use 1 at the beginning, unless you have at least one item in the listbox already2. set "z2" as the DisplayMember, set "z1" as the ValueMemberListBox1.DataSource = .... ;
ListBox1.DisplayMember = "Z2"     ;
ListBox1.ValueMember = "Z1" ;
use ListBox1.SelectedValue to get the value for "Z1"

解决方案 »

  1.   

    谢谢,第一个问题我已经明白了,但第二个问题还不是很明白。我本来是这么做的:
    private void btnListName_Click(object sender, System.EventArgs e)
    {
    System.Data.SqlClient.SqlDataReader rdrEmployees; this.connNwind.Open();
    rdrEmployees = this.cmdEmployees.ExecuteReader();
    while(rdrEmployees.Read())
    {
    string strName;
    strName = rdrEmployees["LastName"] + " " + rdrEmployees["FirstName"];
    lbName.Items.Insert(0,strName);
    } rdrEmployees.Close();
    this.connNwind.Close();
    }也就是说,我显示在列表框的内容是一个人的全名,两个字段组合到一起的,但每个人都会有一个编号,Number,我需要实现在列表框中显示人名,但当选择到某条记录时,得到的是那个人的编号(编辑4位数但没有连续)。能给我一个比较详细的代码吗?最好能以这个相类似的方法来实现。
      

  2.   

    use sql statement likeselect LastName + ' ' + FirstName as Name, Number from your tablethen
    lbName.DataSource = rdrEmployees;
    lbName.DisplayMember = "Name";
    lbName.ValueMember = "Number ;