一下两段代码label20.Text = comboBox2.SelectedValue.ToString(); 这个正常,而这段 string num = "sDID=" + comboBox2.SelectedValue.ToString (); 却不正常,断点发现他的值是 :"sDID=System.Data.DataRowView"   怎么拿得他下来?

解决方案 »

  1.   

    string num = "sDID=" + comboBox2.Text;
      

  2.   

    回LS 我是要他的value值 
    comboBox2.DataSource = ds.Tables[0];
                   comboBox2.DisplayMember = "sDepartmentName";
                   comboBox2.ValueMember = "sDID";
      

  3.   

    string num = "sDID=" + (comboBox2.SelectedValue as System.Data.DataRowView)[字段编号].ToString();
      

  4.   

    comboBox1.SelectedIndex;
    comboBox1.SelectedValue;
    comboBox1.SelectedText;
    comboBox1.SelectedItem;
    comboBox1.Text;这几个你好好试试。每个都有不同的用途。http://msdn.microsoft.com/zh-cn/library/system.windows.controls.combobox.aspx
      

  5.   

    不能用comboBox2.SelectedValue;我也错过
    应该用comboBox2.Text
      

  6.   

      这个真的可以,那为什么我之前 
    label20.Text = comboBox2.SelectedValue.ToString();
    可以直接取下来?
      

  7.   

    应该和这个无关。你是不是有的添加的是 string,有的添加的是 System.Data.DataRowView
      

  8.   

    这样是不支持的,除非自己写个类,设置下显示值和实际值
    或者直接取显示值/// <summary>
    /// 自定义类  用于支持ComboBox绑定数据源(value/text)
    /// </summary>
    public class ComboBoxItem
    {
        private string _text = null;
        private object _value = null;
        /// <summary>
        /// 显示值
        /// </summary>
        public string Text { get { return this._text; } set { this._text = value; } }
        /// <summary>
        /// 实际值
        /// </summary>
        public object Value { get { return this._value; } set { this._value = value; } }
        public override string ToString()
        {
            return this._text;
        }
    }ComboBoxItem deptnum = (ComboBoxItem)cbeDepartment.SelectedItem;
      

  9.   

    回LS的 我绑定的时候是这样绑定的 comboBox2.DataSource = ds.Tables[0];
    comboBox2.DisplayMember = "sDepartmentName";
    comboBox2.ValueMember = "sDID";ds 里面每个Sdid对应一个 sDepartmentName 
    我不可以这样拿他的选择的那个sDepartmentName 的sDID吗?comboBox2.SelectedValue.ToString ();
      

  10.   


    private void LoadMC()
            {
                cb_HType.DataSource = bc.GetDT("BT", "");
                cb_HType.DisplayMember = "Name";
                cb_HType.ValueMember = "ID";
            }        private void cb_HType_SelectedIndexChanged(object sender, EventArgs e)
            {
                cb_QueryName.DataSource = bc.GetDT("BS", cb_HType.SelectedValue.ToString());
                cb_QueryName.DisplayMember = "MISSIONNAME";
                cb_QueryName.ValueMember = "JOBID";
            }        private void cb_QueryName_SelectedIndexChanged(object sender, EventArgs e)
            {
                DataTable dtmc = bc.GetDT("id", cb_QueryName.SelectedValue.ToString());
                cb_Qtype.SelectedValue = dtmc.Rows[0]["BussID"].ToString();
                txtJobID.Value = dtmc.Rows[0]["JobID"].ToString();
                txtTname.Value = dtmc.Rows[0]["JobTableName"].ToString();
            }我程序的一段代码,用:SelectedValue.ToString()是每问题的,但是有个前天combobox必须有选择项,不然异常
      

  11.   

    打错....
    用:SelectedValue.ToString()是沒问题的,但是有个前题combobox必须有选择项,不然异常
      

  12.   

    回楼上:
    private string _text = null;
    是什么意思
      

  13.   

    private string _text = null;
    是什么意思?
      

  14.   

     DataTable dtmc = bc.GetDT("id", cb_QueryName.SelectedValue.ToString()); 这个句应该会报错啊,第一个combobox还没选择
      

  15.   

    private void LoadMC()//这个是绑定时间
            {
                cb_HType.DataSource = bc.GetDT("BT", "");
                cb_HType.DisplayMember = "Name";
                cb_HType.ValueMember = "ID";
            }
            //SelectedIndexChanged注意这个事件 是选择一项后激活的
            private void cb_HType_SelectedIndexChanged(object sender, EventArgs e)
            {
                cb_QueryName.DataSource = bc.GetDT("BS", cb_HType.SelectedValue.ToString());
                cb_QueryName.DisplayMember = "MISSIONNAME";
                cb_QueryName.ValueMember = "JOBID";
            }        private void cb_QueryName_SelectedIndexChanged(object sender, EventArgs e)
            {
                DataTable dtmc = bc.GetDT("id", cb_QueryName.SelectedValue.ToString());
                cb_Qtype.SelectedValue = dtmc.Rows[0]["BussID"].ToString();
                txtJobID.Value = dtmc.Rows[0]["JobID"].ToString();
                txtTname.Value = dtmc.Rows[0]["JobTableName"].ToString();
            }