运行错误提示:无法绑定到新的显示成员。
参数名: newDisplayMember代码如下:
            DataTable dt = new DataTable();
            string SQLText = "Select SuitID,SuitName from dtSysUnit Order by SortNo";            dt = oData.GetDataTable(SQLText);
            paComboBox.DataSource = dt;
            paComboBox.ValueMember = "SuitID";  *********出错行!
            paComboBox.DisplayMember = "SuitName";

解决方案 »

  1.   

    DataSet dt = new DataSet();
                string SQLText = "Select SuitID,SuitName from dtSysUnit Order by SortNo";
    SqlDbadapter da=new sqldbadapter(sqltext,myconn);
                da.fill(dt,"word");
                paComboBox.DataSource = dt.Tables["word"].defaultview;
                paComboBox.ValueMember = "SuitID";  
                paComboBox.DisplayMember = "SuitName";
    这样就可以了。
      

  2.   

    楼上的代码是用DataSet代替了DataTable,难道ComboBox的DataSource不能使用DataTable?
      

  3.   

    ComboBox的DataSource是DataTable,不是DataSource。
    SuitID要和dt中的列名一致,大小写都要一致。
      

  4.   

    复人: lovvver(春晖) ( ) 信誉:100  2006-02-13 10:08:00  得分: 0  
     
     
       ComboBox的DataSource是DataTable,不是DataSource。
    SuitID要和dt中的列名一致,大小写都要一致。
      
     
    =====================================================
    ComboBox中的DataSource用的是DataTable,SuitID和SuitName和dt中的列名大小写一致的,可还是不行啊
      

  5.   

    回复人: youyuan1980(水云间) ( ) 信誉:92  2006-2-12 22:06:57  得分: 0  
     
     
       
    DataSet dt = new DataSet();
                string SQLText = "Select SuitID,SuitName from dtSysUnit Order by SortNo";
    SqlDbadapter da=new sqldbadapter(sqltext,myconn);
                da.fill(dt,"word");
                paComboBox.DataSource = dt.Tables["word"].defaultview;
                paComboBox.ValueMember = "SuitID";  
                paComboBox.DisplayMember = "SuitName";
    这样就可以了。==============================================================================
    试过了,也不行的
      

  6.   

    你这样检测一下:
    1。再次检查大小写的问题,因为数据库表中字段、select语句、以及paComboBox.ValueMember = "SuitID"三处有这个字段名,你关键要保证后两者之间一致。
    2。dt有没有数据;另外,这本是比较简单的问题,一般出现问题,肯定是在一些细节处一不小心搞错了。
      

  7.   

    这样来做:
    ArrayList arr = new ArrayList();
    foreach(DataRow dr in dt.Tables["word"].Rows)
    {
    arr.Add(new myword(dr["SuitID"],dr["SuitName"]));
    }
    paComboBox.DataSource = arr;
    paComboBox.ValueMember = "GetSuitID";
    paComboBox.DisplyMember "GetSuitName";protected struct myword
    {
    private object suitID;
    private object suitName;
    public object GetSuitID
    {
    get { return suitID; }
    }public object GetSuitName
    {
    get { return suitName; }
    }
    }
      

  8.   

    /// <summary>
    /// 初始化ComboBox列表框
    /// </summary>
    /// <param name="combobox">ComboBox控件名称</param>
    /// <param name="sql">SQL语句</param>
    /// <param name="name">要显示的名字(DisplayMember)</param>
    /// <param name="dm">值(ValueMember)</param>
    /// <param name="b">b为true,文本部分可编辑;b为false,文本部分不可编辑</param>
    public void InitComboBox(ComboBox combobox,string sql,string name,string dm,bool b)
    {
    DataSet dataset;
    try
    {
    dataset = DbHelper.Query(sql);
    combobox.DataSource = dataset.Tables[0];
    combobox.DisplayMember = name;
    combobox.ValueMember = dm;
    if(b == true)//文本部分可编辑
    {
    combobox.DropDownStyle = ComboBoxStyle.DropDown;
    }
    else//文本部分不可编辑
    {
    combobox.DropDownStyle = ComboBoxStyle.DropDownList;
    }
    dataset.Dispose();
    }
    catch(System.Exception er)
    {
    //获取数据源出错,则置文本部分可编辑
    combobox.DropDownStyle = ComboBoxStyle.DropDown;
    MessageBox.Show("获取代码值错误。错误信息:"+er.Message);
    }
    }
      

  9.   

    我也认为这原本就是很简单的问题,可没想到ComboBox的使用这么麻烦,搞了两天都没搞定,原来用.net做B/S时都用的是DropDownList,用起来很方便,真没想到WinForm下的ComboBox这么烦人,有哪位用过的兄弟帮帮忙啊
      

  10.   

    SuitID、SuitName的大小写没有问题,SuitID也没有重复值,郁闷ing...
      

  11.   

    是Oracle数据库么?
    全该为大写看看怎么样?
      

  12.   

    >>         DataTable dt = new DataTable();
    >>         string SQLText = "Select SuitID,SuitName from dtSysUnit Order by SortNo";
    >>
    >>         dt = oData.GetDataTable(SQLText);dt里面有记录吗?
      

  13.   

    我和你遇到一样的问题,不过我是oracle数据库,要显示的列名用大写就行了,DataSource不能用DataSet, 用DataTable才行