checkedlistboxコントロールについて教えてください。
A、Bというカラムがある、testというテーブルの内容を
checkedlistboxに表示します。
この時に表示するのはA(DisplayMember)、値としてB(ValueMember)を
指定したいと思っています。
チェックされた項目については、Bの値とそれがチェックされたかという
情報を、ハッシュテーブルで返すようにしたいです。
((3,True)、(4,False)みたいに。)
とりあえず書いてみた限りでは、
Dim dt As New DataTable
Dim DBAccess As new DataBaseAccess
Dim selectSql As String
selectSql = "SELECT A,B FROM test"
'データテーブルに格納
dt = DBAccess.GetDataSet(selectSql).Tables(0)
Me.CheckListBox.DataSource = dt
Me.CheckListBox.DisplayMember = "A"
…
こんな感じかと思うのです。
(DataBaseAccessというのは、DB接続用に作ったクラスで、
GetDataSetメソッドはSQLの結果をDataSetで返すものです)。
どう書いたものか悩んでいるのが、チェックされたか否かの情報と
Bの値を格納していく処理です。
ループさせて見ていくのかと思うのですが、この時にBの値を取得
していくにはどのようにすれば良いのでしょうか?
サンプルソースを交えて教えていただけると助かります。
宜しくお願いします。
No.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 とかを作ればよいかと思います。
参考URL:http://msdn.microsoft.com/ja-jp/library/system.w …
お礼が遅れまして申し訳ありません。
参考にさせていただき、無事に目的の動作をするよう組む
ことが出来ました。
大変助かりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) Excel・ユーザーフォームの情報を受け渡したい 4 2022/06/08 10:11
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
VBの画面サイズについて
Visual Basic(VBA)
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
-
-
4
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
5
DataGridViewでグリッド内に線を引きたい
Visual Basic(VBA)
-
6
C# dataGridViewの値だけクリア
C言語・C++・C#
-
7
VB.net 引数で配列変数を渡す際の要素数
Visual Basic(VBA)
-
8
C# ListBoxのインデックスの値を入れ替えたい
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
Excel VBAのリストボックスの値...
-
マクロ 特定のセル値のみクリ...
-
ハッシュテーブル(連想配列)が...
-
fscanfでC言語の空欄を読んだ場...
-
スクロールバーの境界値は?
-
【C++/CLI.NET】コンボボックス...
-
RegisterClassExのエラー原因
-
textboxとLabelを動的に変更する
-
vbaの繰り返しで求める最大値に...
-
テキストボックスの設定。
-
【ASP.NET】 DataTextFieldの値...
-
テキストボックスの値をコンボ...
-
変数名の取得
-
VB2008 iniファイルの指定セク...
-
コンボボックスを読み取り専用...
-
ComboBoxで選択した値をReplace...
-
setcookieで「path」に複数の値...
-
コンボボックスの幅の変更について
-
ユーザーフォームのテキストボ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
マクロ 特定のセル値のみクリ...
-
VB.NETでコンボボックスの1行目...
-
変数名の取得
-
値を返さないコード パス
-
Excel VBAのリストボックスの値...
-
VB初心者。小数点以下の表示で...
-
ハッシュテーブル(連想配列)が...
-
textboxとLabelを動的に変更する
-
PL/SQLでのTO_DATEの時間取得に...
-
VB.NETでアクティブなformを知...
-
Excel vba ユーザーフォームテ...
-
DataTableに対するLINQについて
-
マクロで奇数と偶数の値を2か所...
-
[VBA]選択範囲の下から上に処理...
-
【C++/CLI.NET】コンボボックス...
-
変数に代入してある数値を表示...
-
vbscriptを使いexcelを参照して...
-
範囲が指定されている乱数について
-
[VB.net] DataGridViewのコンボ...
おすすめ情報