掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ListBoxのDataSourceに設定した値を変更した際に表示を更新するには? (ID:144082)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
「変更通知機能を持ったオブジェクト」を割り当ててください。 たとえば、List の代わりに DataTable を割り当てると良いでしょう。 これなら、データを変更すると、その結果が直接反映されます。 (ListBox 側では、DisplayMember プロパティに「列名」を設定しておきます) もし、どうしても List を利用したいのだとすると、List 自体には、 内容の変更を外部に知らせる機能を持ちあわせていませんので、 変更があった事を、データコンシューマである ListBox に通知するための、 何らかの「中継者」が必要となります。 たとえば、中継者として BindingSource クラスを使うとすれば…。 Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load 'これはデザイン時に設定しておいても可 ListBox1.DataSource = BindingSource1 ListBox2.DataSource = BindingSource1 data = New List(Of String)() data.Add("A") data.Add("B") 'データは、ListBox に直接渡すのではなく、 '「中継者」である BindingSource を介して渡すようにする。 BindingSource1.DataSource = data End Sub Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click 'データの登録や変更は、「中継者」を介して行う。 BindingSource1.Add("C") End Sub
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.