我有个listbox已经与数据库绑定了,表中有3列,listbox里显示的是第一列,请问如何获取余下两列的信息?

解决方案 »

  1.   

    winform里listbox数据绑定,listbox取值问题 listbox数据绑定view plaincopy to clipboardprint?DataSet ds = new DataSet();  
    ds = SqlHelper.ExecuteDataset(SysHelp.connStr,CommandType.StoredProcedure, "proc_selName");  
    DataTable dt = ds.Tables[0];  
    listbox1.DataSource = dt;  
    listbox1.DisplayMember = dt.Columns[0].ColumnName;  
    listbox1.ValueMember = dt.Columns[0].ColumnName;  
    DataSet ds = new DataSet();
    ds = SqlHelper.ExecuteDataset(SysHelp.connStr,CommandType.StoredProcedure, "proc_selName");
    DataTable dt = ds.Tables[0];
    listbox1.DataSource = dt;
    listbox1.DisplayMember = dt.Columns[0].ColumnName;
    listbox1.ValueMember = dt.Columns[0].ColumnName; 说明:1、SqlHelper为数据库操作帮助类,通过它执行存储过程,获取dataset        2、DisplayMember为listbox显示的数据        3、ValueMember为listbox隐藏的数据 listbox取值绑定datasource后,是不能用listbox1.selecteditem这方法取值的,必须使用转换或使用listbox1.selectedvalue取值view plaincopy to clipboardprint?DataRowView drv = listbox1.SelectedItem as DataRowView;  
    MessageBox.Show("text=" + drv[listbox1.DisplayMember] + ";value=" + drv[listbox1.ValueMember]);  
    DataRowView drv = listbox1.SelectedItem as DataRowView;
    MessageBox.Show("text=" + drv[listbox1.DisplayMember] + ";value=" + drv[listbox1.ValueMember]); 或view plaincopy to clipboardprint?listbox1.SelectedValue.ToString().Trim();  
    listbox1.SelectedValue.ToString().Trim();  
      

  2.   

    获取listbox1.DataSource,然后转原来绑定的类型