我需要从所选项目的数据源中检索“id”,但它总是抛出标题中提到的相同错误。这是我的代码
Dim DMV As DataRowView = LbMCat.SelectedValue 'Here occurs the error
SelectedMainCat = DMV.Item("id")
'Filling the SUB Categories part / same code used to fill Main categories
Dim DataAdapterCats As New MySqlDataAdapter("SELECT * From catS where maincat = '" & SelectedMainCat & "';", MySqlConnection)
Dim dsSc As New DataSet
DataAdapterCats.Fill(dsSc, "SubCategories")
Dim SDataTable As DataTable = dsSc.Tables(0)
LbSCat.DataSource = SDataTable
LbSCat.DisplayMember = "title"
LbSCat.ValueMember = "id"
答案 0 :(得分:2)
执行以下操作
Dim DMV As DataRowView = TryCast(LbMCat.SelectedItem, DataRowView)
If DMV IsNot Nothing Then
SelectedMainCat = DMV.Item("id")
End If
答案 1 :(得分:0)
尝试直接投射值:
(DirectCast(LbmCat.SelectedItem,DataRowView)(" ID")。ToString())
See it here。这可能会有所帮助
答案 2 :(得分:0)
如果检查的是所选值是不是整数??
If Not TypeOf (LbMCat.SelectedValue) Is Integer Then
Dim DMV As DataRowView = LbMCat.SelectedValue 'Here occurs the error
SelectedMainCat = DMV.Item("id")
End If