0

ListBox変更を加えてデータベースにコミットしたときに、アイテムのデータを変更しようとしています。ただし、 a に新しい値を割り当てても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
4

2 に答える 2

0

に渡される参照.SelectedItemは、リスト内の既存の項目の 1 つでなければなりません。プロパティを使用して の内容を変更することはできません.Item。現在のコード

lstAlbums.Items(lstAlbums.SelectedIndex) = updatedAlbum

正しい。

于 2013-01-21T02:39:59.973 に答える
0

代わりにSelectedValueを使用してください。通常、基になるオブジェクトには、この目的で使用できるキー フィールドがあります。それに応じてValueMemberプロパティを設定したことを確認してください。

于 2013-01-20T23:44:57.373 に答える