当我进行更改并将其提交到数据库时,我正在尝试更改ListBox
项的数据。但是,为ListBox.SelectedItem
分配新值似乎不起作用,但如果我使用ListBox.Items(lstAlbums.SelectedIndex)
,则它似乎会更改表单中的实际数据。
我还通过GetHashCode
测试了对象,看起来它们也是一样的。如果我尝试比较它们,Boolean
也是如此。有人知道为什么会这样吗?以下是我的代码部分:
Private Sub DataUpdatedCallback(ByVal updatedAlbum As Album)
' ( lstAlbums.Items(lstAlbums.SelectedIndex) Is _
' lstAlbums.SelectedItem ) == TRUE
' for some reason using lstAlbums.SelectedItem doesn't change the object data
lstAlbums.Items(lstAlbums.SelectedIndex) = updatedAlbum
End Sub
答案 0 :(得分:0)
请改用SelectedValue。您的基础对象通常具有可用于此目的的关键字段。确保您已相应设置ValueMember属性。
答案 1 :(得分:0)
传递给.SelectedItem
的引用必须是列表中的现有项之一,您不能使用该属性来修改.Item
的内容。您当前的代码
lstAlbums.Items(lstAlbums.SelectedIndex) = updatedAlbum
是对的。