如题,我有两个页面,一个winform中有一个datagridview,选中一条记录后,打开另一个窗口编辑选中记录的内容,其中一个内容是利用combox选择的,这个combox是绑定数据库中的数据源,打开窗口初始化后总是显示数据源第一项内容,怎样让他显示选中记录的内容。用的是vs2005.试过用item.text,但是显示错误是绑定数据源后不可更改item值
用combox.text,显示的还是数据源第一项

解决方案 »

  1.   

    string sex=dgv1.currentrow.cell["sex"].value.tostring();//绑定combobox后,遍历判断用selectedindex选中索引 
    for(int i=0;i<combobox.items.count;i++)
    {
      if(combobox.items[i].tostring()==sex)
      {
         combobox.selectedindex=i;
         break;
       }
    }
      

  2.   

    楼上正解,currentrow是当前激活的行,也就是选中的项。
      

  3.   

    继续提问:我的items.count,运行后发现是0诶,所以直接跳过了,是我什么地方的设置有问题吗??我直接用的combox的绑定数据源选项,显示名和值选的是数据源里的两个字段,name,id;还有什么设置吗
      

  4.   

    DataTable dt = new SqlHelper().ExecuteDataTable("select * from TTableName");//combobox对应的表
    combobox cbb1=new combobox();
    cbb1.datasource=dt;
    Cbb_cbb1.DisplayMember = "显示名";
    Cbb_cbb1.ValueMember = "内部值";cbb1.SelectedValue=dgv1.currentrow.cell["隐藏的字段名"].value.tostring();//内部值
      

  5.   

    看看 取的数据集的 count是多少 
      

  6.   

    DataGridview_CellClick()
    {
    combox.Text = DataGridview.CurrentRow.Cells["colFType"].Value.ToString();
    }
      

  7.   

    还是不行啊,我是两个页面,参数都传过来了,在新打开的编辑页面中,要将绑定数据库的combox显示传过来的参数值,要怎么写呢?一楼的做法,我的count是0,6楼的做法,也没显示成功。
    这个是我要的效果,想在产品类别那显示传递过来的参数,而不是数据库第一个数据。