- ベストアンサー
CheckedListboxについての質問
- CheckedListboxコントロールを使用して、データベースからAの値を表示し、Bの値を取得する方法について教えてください。
- ループを使用して、チェックされた項目のBの値とチェックの状態をハッシュテーブルに格納する方法についてサンプルコードをご教示ください。
- 質問者は、CheckedListboxコントロールにデータを表示するために、DBAccessクラスのGetDataSetメソッドを使用してデータを取得しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
お世話になります。 以下はサンプルです。 Form1 には CheckedListBox と Button が配置されています。 Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows フォーム デザイナで生成されたコード " #End Region Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim DBAccess As DataBaseAccess = New DataBaseAccess Dim sql As String = "SELECT A, B FROM TABLE" Dim dt As DataTable = DBAccess.GetDataset(sql).Tables(0) Me.CheckedListBox1.DataSource = dt Me.CheckedListBox1.DisplayMember = "A" Me.CheckedListBox1.ValueMember = "B" End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click For index As Integer = 0 To Me.CheckedListBox1.Items.Count - 1 System.Diagnostics.Debug.WriteLine( _ index.ToString() & "チェック状態:" & Me.CheckedListBox1.GetItemCheckState(index).ToString()) Dim listObject As DataRowView = DirectCast(Me.CheckedListBox1.Items(index), DataRowView) System.Diagnostics.Debug.WriteLine( _ "A:" & Convert.ToString(listObject("A")) & ControlChars.NewLine & _ "B:" & Convert.ToString(listObject("B"))) Next End Sub End Class Button1_Click メソッド内でチェックの状態や各列の値などを取得しています。 これを応用するなりして HashTable とかを作ればよいかと思います。
お礼
お礼が遅れまして申し訳ありません。 参考にさせていただき、無事に目的の動作をするよう組む ことが出来ました。 大変助かりました。 ありがとうございました。