日期:2014-05-19  浏览次数:20805 次

combobox得不到选中项的值,急急急~~
在form_load中绑定了comTabname的值
private   void   Query_Load(object   sender,   System.EventArgs   e)
{
string   strTable= "select   *   from   sysobjects   where   Xtype= 'u ' ";
SqlConnection   conn=new   SqlConnection( "server=localhost;database=managert;uid=sa ");
DataSet   dsTable=new   DataSet();
SqlDataAdapter   da=new   SqlDataAdapter(strTable,conn);

da.Fill(dsTable, "sysobjects ");
comTabname.DataSource=dsTable;
comTabname.DisplayMember= "sysobjects.name ";
comTabname.SelectedIndex=-1;

}  

private   void   comTabname_SelectedIndexChanged(object   sender,   System.EventArgs   e)
{
        string   strTabname;
        strTabname=comTabname.SelectedItem.ToString();
        …………
        …………
}

在SelectedIndexChanged事件里的strTabname却得不到comTabnama里选中项的值,
单步跟踪发现strTabname得到的值总是System.Data.DataRowView,   请问大家是什么原因造成的啊~~


------解决方案--------------------
comboBox3.DisplayMember= "名称 ";
comboBox3.ValueMember= "值 ";
这样试试
------解决方案--------------------
没有comTabname.SelectedItem.Text是因为.net版本的问题,

那你可以使用
System.Data.DataRowView dv = (System.Data.DataRowView)comTabname.SelectedItem;
strTabname= dv[ "name "].ToString();