问题描述
如题,我有两个页面,一个winform中有一个datagridview,选中一条记录后,打开另一个窗口编辑选中记录的内容,其中一个内容是利用combox选择的,这个combox是绑定数据库中的数据源,打开窗口初始化后总是显示数据源第一项内容,怎样让他显示选中记录的内容。用的是vs2005.试过用item.text,但是显示错误是绑定数据源后不可更改item值用combox.text,显示的还是数据源第一项
解决方案
解决方案二:
stringsex=dgv1.currentrow.cell["sex"].value.tostring();//绑定combobox后,遍历判断用selectedindex选中索引for(inti=0;i<combobox.items.count;i++){if(combobox.items[i].tostring()==sex){combobox.selectedindex=i;break;}}
解决方案三:
楼上正解,currentrow是当前激活的行,也就是选中的项。
解决方案四:
该回复于2012-01-16 09:05:12被版主删除
解决方案五:
同意一樓的做法
解决方案六:
继续提问:我的items.count,运行后发现是0诶,所以直接跳过了,是我什么地方的设置有问题吗??我直接用的combox的绑定数据源选项,显示名和值选的是数据源里的两个字段,name,id;还有什么设置吗
解决方案七:
DataTabledt=newSqlHelper().ExecuteDataTable("select*fromTTableName");//combobox对应的表comboboxcbb1=newcombobox();cbb1.datasource=dt;Cbb_cbb1.DisplayMember="显示名";Cbb_cbb1.ValueMember="内部值";cbb1.SelectedValue=dgv1.currentrow.cell["隐藏的字段名"].value.tostring();//内部值
解决方案八:
看看取的数据集的count是多少
解决方案九:
DataGridview_CellClick(。。。){combox.Text=DataGridview.CurrentRow.Cells["colFType"].Value.ToString();}
解决方案十:
6楼正解
解决方案十一:
引用1楼rekym的回复:
stringsex=dgv1.currentrow.cell["sex"].value.tostring();//绑定combobox后,遍历判断用selectedindex选中索引for(inti=0;i<combobox.items.count;i++){if(combobox.items[i].tostring()==sex){combobox.……
+1
解决方案十二:
一樓的做法
解决方案十三:
引用7楼kiba518的回复:
看看取的数据集的count是多少
count是0,所以才郁闷!
解决方案十四:
引用11楼fenxiang9875的回复:
一樓的做法
没取到count的值啊!!
解决方案十五:
引用6楼nikolaichow的回复:
DataTabledt=newSqlHelper().ExecuteDataTable("select*fromTTableName");//combobox对应的表comboboxcbb1=newcombobox();cbb1.datasource=dt;Cbb_cbb1.DisplayMember="显示名";Cbb_cbb1.ValueMember=……
Mark
解决方案:
引用10楼chengjia2284的回复:
引用1楼rekym的回复:stringsex=dgv1.currentrow.cell["sex"].value.tostring();//绑定combobox后,遍历判断用selectedindex选中索引for(inti=0;i<combobox.items.count;i++){if(combobox.items[i].tostring()==sex……
怎么个+1?????
解决方案:
还是不行啊,我是两个页面,参数都传过来了,在新打开的编辑页面中,要将绑定数据库的combox显示传过来的参数值,要怎么写呢?一楼的做法,我的count是0,6楼的做法,也没显示成功。这个是我要的效果,想在产品类别那显示传递过来的参数,而不是数据库第一个数据。
解决方案:
6楼正解