Ana*_*pan 11 .net vb.net winforms
我将combobox.datasource设置为dataview项(以便它绑定到表),当我从combobox.selectedvalue获取返回值时.返回错误bcos是"system.data.datarowview"类型
我不知道为什么它的返回值通常是文本
代码 :
If ldstList.Tables(0).Rows.Count <> 0 Then
With CbStatus
.DataSource = ldstList.Tables(0)
.DisplayMember = "CardStatus"
.ValueMember = "StatusID"
End With
End If
If Integer.Parse(CbStatus.SelectedValue) > 0 Then
GridLoad(Integer.Parse(CbStatus.SelectedValue))
End If
Run Code Online (Sandbox Code Playgroud)
And*_*ens 29
无论其他问题或解决方案如何,请确保按正确的顺序设置ComboBox的属性:
.DisplayMember = ...;
.ValueMember = ...;
.DataSource = ....; // Notice how this one is last?
Run Code Online (Sandbox Code Playgroud)
首先设置DataSource属性将导致"system.data.datarowview"问题.
我不知道为什么会出现这个问题。但我找到了解决方案:
If Integer.Parse(DirectCast(CbStatus.SelectedItem, DataRowView).Item("StatusID")) > 0 Then
GridLoad(Integer.Parse(DirectCast(CbStatus.SelectedItem, DataRowView).Item("StatusID")))
End If
Run Code Online (Sandbox Code Playgroud)
感谢那些回答的人,如果您有的话,请发布解释或更好的解决方案。