//单击客房在不可读区显示客房信息
        private void dgvRoomInfoList_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            index = dgvRoomInfoList.SelectedCells[0].RowIndex;
            List<Room> rooms = dgvRoomInfoList.DataSource as List<Room>;
            Room room=rooms[index];
            manager.SearchRoom(room);
            //赋值
            txtNumber_2.Text = room.Number;
            txtGuestNumber_2.Text = room.GuestNumber.ToString();
            txtBedNumber_2.Text = room.BedNumber.ToString();
            cboState_2.Text=room.State;//此处
            txtDescription_2.Text = room.Description;
        }
取到了State的值,但为什么给cboState_2赋值的时候,这上面的文本为空?

解决方案 »

  1.   

    没在WIN 下做过C#开发,不过原理应该是一样的。
    下拉框控件是只读的没有办法赋值。
    可通过以下方法操作(ASP。NET)
    cboState_2.SelectIndex=cboState_2.Item.Indexof(cboState_2.Items.Find(""));
      

  2.   

    cboState_2.SelectedValue=room.State;
      

  3.   

    cboState_2.SelectedText=room.State;
    //看看是否需要
    cboState_2.Items.Add(room.State);
      

  4.   

    下拉框要先添加才能赋值
     cboState_2.Items.Add(room.State);
    cboState_2.Text=room.State;
      

  5.   

    能不能直接赋值和combobox的DropDownStyle属性有关为simple时,可直接赋值。
    为dropdownlist时,当赋值在下拉列表及Items.Collection中时,可直接赋值。否则赋值不成功。
      

  6.   

    先确保cboState_2中已存在room.State值
    combobox.Text= 其实是把combobox中已存在的值显示出来
      

  7.   

    combobox.Text大哥有才啊
    你combobox都没项,哪来的text呢
      

  8.   

    这么说是不对的,你自己试验一下就知道。
    楼主的问题可能原因
    1。  cboState_2.Text=room.State;//此处
                txtDescription_2.Text = room.Description;
    可以在“此处”后面设个断点,看一下room.State是否有值。如果没有应该考虑一下room取得的问题。
    2. cboState_2的DropDownStyle是否是DropDownList(因为设置成这个的时候,下拉框的Text是只读的)以外的值。
      

  9.   


                        ComboBox cc = c as ComboBox;
                        cc.SelectedValue=dr[cc.Name].toString();