如何给datagridview里的combobox设置初期值

devotedsky 2011-06-09 09:13:23
datagridview绑定表A。
其中有一个字段A1,存放ID。
另有一张表B,字段为ID和NAME。
字段A1以combobox显示,显示表B的NAME,实际值为ID。

现在combobox已经和表B绑定,并能正常显示下拉列表。

为了给combobox设置初期值,目前的做法是把所有数据循环一遍:

If MyDataSet.TableB.Rows(i).Item("ID") = MyDataSet.TableA.Rows(j).Item("ID") Then
'DataGridView1.Rows(i).Cells(6)是combobox
DataGridView1.Rows(i).Cells(6).Value = MyDataSet.TableB.Rows(j).Item("NAME")
End If

按照上面的代码,初期值显示没有问题。
但当我去读取combobox的实际值时,发现值变成了NAME,而不是ID。

想知道正确设置combobox初期值的方法。
...全文
241 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnwin 2011-08-02
  • 打赏
  • 举报
回复
还有一点,当进入单元格时,要判断单元格是否有值,无值则要置ComboBox的SelectIndex为-1,有值则要设置ComboBox的selectValue等于当前单元格的Value就可以了。试试吧。
cnwin 2011-08-02
  • 打赏
  • 举报
回复
你是在Datagridview里把某单元格使用了ComboBox来选择吧?那么该单元格的值应该存Id,也就是ComboBox的SelectedValueChanged事件里把ComboBox的SelectValue赋给单元格。至于单元格如何显示名字,当用DatagridView的Formatting事件处理e.value。
csuchen6 2011-08-02
  • 打赏
  • 举报
回复
DataGridView1.Rows(i).Cells(6).Value
把Value去掉看看?
谢幕人生 2011-06-10
  • 打赏
  • 举报
回复
一、If MyDataSet.TableB.Rows(i).Item("ID") = MyDataSet.TableA.Rows(j).Item("ID") 这句表B没有"ID"这个字段
二、DataGridView1.Rows(i).Cells(6).Value = MyDataSet.TableB.Rows(j).Item("NAME")
最后那个item("name")应该改成item("id")
三、你的这个库设计的有点小问题,逻辑好像不是很强,非原设计人员要花4分钟以上才算看明白了。。
哈哈,估计,你也搞定了,说的对与不对,望你给个答复哦。

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧