comboboxとTextBoxのデータ連結
投稿者 るきお  ()
投稿日時
2008/7/11 21:43:00
いろいろ方法はありますが、とりあえず2つほど紹介します。
VB2005、Option Strict Offで試しました。
■方法1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim table As DataTable = GetData()
ComboBox1.DataSource = table
ComboBox1.DisplayMember = "ProductID"
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
TextBox1.Text = ComboBox1.SelectedItem("ProductName")
End Sub
Private Function GetData() As DataTable
'ここにOracleなどからデータを取得する処理を書く
'※この例ではこの部分は直書きで代替とする。
Dim table As New DataTable
table.Columns.Add("ProductID", GetType(String))
table.Columns.Add("ProductName", GetType(String))
table.Rows.Add("AA", "CDケース")
table.Rows.Add("BB", "鉛筆")
table.Rows.Add("CC", "分度器")
Return table
End Function
■方法2
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim bind As Binding
Dim table As DataTable = GetData()
bind = New Binding("Text", table, "")
ComboBox1.DataSource = table
ComboBox1.DisplayMember = "ProductID"
ComboBox1.DataBindings.Add("Text", table, "ProductID")
TextBox1.DataBindings.Add("Text", table, "ProductName")
End Sub
Private Function GetData() As DataTable
'ここにOracleなどからデータを取得する処理を書く
'※この例ではこの部分は直書きで代替とする。
Dim table As New DataTable
table.Columns.Add("ProductID", GetType(String))
table.Columns.Add("ProductName", GetType(String))
table.Rows.Add("AA", "CDケース")
table.Rows.Add("BB", "鉛筆")
table.Rows.Add("CC", "分度器")
Return table
End Function
こんなんでいかがでしょうか?
VB2005、Option Strict Offで試しました。
■方法1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim table As DataTable = GetData()
ComboBox1.DataSource = table
ComboBox1.DisplayMember = "ProductID"
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
TextBox1.Text = ComboBox1.SelectedItem("ProductName")
End Sub
Private Function GetData() As DataTable
'ここにOracleなどからデータを取得する処理を書く
'※この例ではこの部分は直書きで代替とする。
Dim table As New DataTable
table.Columns.Add("ProductID", GetType(String))
table.Columns.Add("ProductName", GetType(String))
table.Rows.Add("AA", "CDケース")
table.Rows.Add("BB", "鉛筆")
table.Rows.Add("CC", "分度器")
Return table
End Function
■方法2
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim bind As Binding
Dim table As DataTable = GetData()
bind = New Binding("Text", table, "")
ComboBox1.DataSource = table
ComboBox1.DisplayMember = "ProductID"
ComboBox1.DataBindings.Add("Text", table, "ProductID")
TextBox1.DataBindings.Add("Text", table, "ProductName")
End Sub
Private Function GetData() As DataTable
'ここにOracleなどからデータを取得する処理を書く
'※この例ではこの部分は直書きで代替とする。
Dim table As New DataTable
table.Columns.Add("ProductID", GetType(String))
table.Columns.Add("ProductName", GetType(String))
table.Rows.Add("AA", "CDケース")
table.Rows.Add("BB", "鉛筆")
table.Rows.Add("CC", "分度器")
Return table
End Function
こんなんでいかがでしょうか?
投稿者 えりん  ()
投稿日時
2008/7/11 22:36:00
>>1
るきおさんさっそくのアドバイスありがとうございます!
方法2のやり方でスムーズにできました!
まだVBまもないのでデータベース系は難しいです。。
日々勉強ですね(~~)
ご教示ありがとうございました!
るきおさんさっそくのアドバイスありがとうございます!
方法2のやり方でスムーズにできました!
まだVBまもないのでデータベース系は難しいです。。
日々勉強ですね(~~)
ご教示ありがとうございました!
当方VB初心者です。。
データベースを使った開発をしています。
データベースにあるテーブルの商品IDをcomboboxに
商品名をtextboxに表示させたいのですが
comboboxとtextboxを連結させる方法がわかりません。
comboboxに仮に商品ID"AA"を入れると
textboxに商品名、仮に"CDケース"という表示に
したいのですがどなたかご存知の方アドバイス
をいただけないでしょうか。。
comboboxのTextChangedイベントで実行させたいのですが・・なかなかうまくいかず(T_T)
接続は非接続型です。
データベースはoracleを使っています。(こんな情報でいいのでしょうか・・すみません;;)
心優しきどなたかご教示お願いいたします(>_<;)