cmb.ValueMember = ds.Tables[0].Columns[0].ColumnName.ToString();
  cmb.DisplayMember = ds.Tables[0].Columns[1].ColumnName.ToString();

解决方案 »

  1.   


    To: wxqq2001(就让我用一生等待)有没有 .Trim()不是这个问题的关键我的问题是多列的DataSet,如何运用ComboBox来实现邦定或怎么结合其他的控件来利用多列的DataSet
      

  2.   

    cmb.DataSource = ds.Tables[0];
    cmb.ValueMember = ds.Tables[0].Columns[0].ColumnName;
    cmb.DisplayMember = ds.Tables[0].Columns[1].ColumnName;
      

  3.   

    DataColumn nameColumn = New DataColumn();
            nameColumn.ColumnName = "Column2";
            nameColumn.DataType = System.Type.GetType("System.String")        nameColumn.Expression = ds.Tables[0].Columns[0].ColumnName + ds.Tables[1].Columns[0].ColumnName ;
           
            ds.Tables[0].Columns.Add(nameColumn)     
            ds.AcceptChanges();        myComboBox.DisplayMember = nameColumn.ColumnName;
            myComboBox.ValueMember = ds.Tables[0].Columns[2].ColumnName;
            myComboBox.DataSource = ds.Tables[0].DefaultView;
      

  4.   

    修正:nameColumn.Expression = ds.Tables[0].Columns[0].ColumnName + ds.Tables[0].Columns[1].ColumnName ;
      

  5.   

    /// <summary>
    /// 绑定dropdownlist
    /// </summary>
    /// <param name="ddl_Bind">参与绑定的dropdownlist</param>
    /// <param name="strValueColumn">dropdownlist的value字段</param>
    /// <param name="strLabelColumn">dropdownlist的text字段</param>
    /// <param name="strOrderColumn">排序字段</param>
    /// <param name="strDefault">默认的text值</param>
    /// <param name="strTable">绑定的数据table</param>
    public static void DropDownListBind(DropDownList ddl_Bind,string strValueColumn,string strLabelColumn,string strOrderColumn,string strDefault,string strTable)
    {
    try
    {
    string strSql ="select "+strValueColumn+","+strLabelColumn+" from "+strTable+" order by "+strOrderColumn;
    DataTool m_DataTool = new DataTool();
    DataTable m_dt= m_DataTool.GetDataTable(strSql,strTable);
    DataRow n_dr = m_dt.NewRow();
    n_dr[strValueColumn]="-1";
    n_dr[strLabelColumn]=strDefault;
    m_dt.Rows.Add(n_dr);
    m_dt.DefaultView.Sort=strValueColumn+" asc";
    ddl_Bind.DataSource=m_dt.DefaultView;
    ddl_Bind.DataValueField = strValueColumn;
    ddl_Bind.DataTextField = strLabelColumn;
    ddl_Bind.DataBind();
    ddl_Bind.SelectedIndex=-1;
    ddl_Bind.Items.FindByValue("-1").Selected=true;
    }
    catch(Exception Error)
    {
    ErrorManage.ThrowError(Error);
    }
    }
      

  6.   


    请大家再仔细读一下我的问题,我的问题是遇到多个字段的dataset,这个dataset无邦定到comboBox求帮助~谢谢
      

  7.   

    1)是不是ComboBox 只能邦定 只有1-2个字段的dataSet?
    不是,理论上可以无限。
    2)如何解决ComboBox 显示,或邦定多个字段的dataSet?
    我上面回答啦。
    3)是不是ComboBox 要结合其他的控件 ListView 或者 DataGrid?
    不需要。
      

  8.   

    楼主说的是多列的Combobox,valuemember和displaymember只显示一列多列是没有的,除非你自己写,偶下了一个称是多列的Combobox,但不好用,就是ComboBox加了一个listView
      

  9.   

    To:  alias88() 如何实现?能让小弟一见这样的组合控件吗的原码吗?
      

  10.   

    cmb.ValueMember = ds.Tables[0].Columns[0].ColumnName.ToString();
    cmb.DisplayMember = ds.Tables[0].Columns[1].ColumnName.ToString();请楼主再看一下我的答案.好像并不是只去掉Trim()吧.试一下能不能用.