在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, 请问大家是什么原因造成的啊~~

解决方案 »

  1.   

    comTabname.SelectedItem邦定的是System.Data.DataRowView, 你要用comTabname.SelectedItem.Text
      

  2.   

    如果你要其他值可以这样
    System.Data.DataRowView dv = (System.Data.DataRowView)comTabname.SelectedItem;
    然后操作dv
      

  3.   

    什么意思啊,没有comTabname.SelectedItem.Text啊
    我用comTabname.SelectedText.Tostring()试过,可是得到的不是完整的值,只能得到前六个字符,后面的字符不知道为什么被自动去除了
      

  4.   

    comboBox3.DisplayMember="名称";
    comboBox3.ValueMember="值";
    这样试试
      

  5.   

    没有comTabname.SelectedItem.Text是因为.net版本的问题,那你可以使用
    System.Data.DataRowView dv = (System.Data.DataRowView)comTabname.SelectedItem;
    strTabname= dv["name"].ToString();
      

  6.   

    嗯,
    是我没弄清楚ComboBox是绑定到DataSet的某个列,
    基于DataSet的某个表DataView
    谢谢  icehawk(流浪他乡)