タイトル | : Re^2: DataBindingsのせい? |
記事No | : 5804 |
投稿日 | : 2007/07/09(Mon) 15:37 |
投稿者 | : みっくん |
> すいません。 > > cboBCD.DataSource = ds > cboBCD.DisplayMember = "BMN.BCDME" > cboBCD.ValueMember = "BMN.BCD" > cboBCD.DataBindings.Add("SelectedValue", ds, "BMN.BCD") > > のようなコードを書いたのですが > どうも4行目が関係していました。 > > コメントにしたらOKでしたが、4行目は不要なのでしょうか。
みっくんです。
びぎさん、こんにちは。
私もVB2005の初心者です。難しいことばかしですが、コツコツとやっています。
先日のびぎさんと魔界の仮面弁士さんとの掲示板「DataComboの代わり」を見てComboBoxの使い方を 習得しました。自分への確認のつもりで投稿します。 ご参考になればと思います。
データベースは、Visual Basic中学校のデータベース講座にあるAnimals.mdbを使用しました。 データベースの入手は、urlがhttp://homepage1.nifty.com/rucio/main/main.htm の データベース講座/ 第2回 データベースを見る、いじる http://homepage1.nifty.com/rucio/etc/DNDatabase/Animals.lzh から入手したDBを使用させて もらいました。
下記のコードでComboboxの動きを確認出来ると思います。 ・フォームのデザインで、TextBoxを2つ。ComboBox、DataGridView、BindingNavigatorを各々1つ配置します。 ・コードは下記の通り書きます。 ・コードを実行後、ComboBoxの選択内容を変更しBindingNavigatorの次ぎへ移動ボタンをクリックすると DataGridViewの目ID欄の内容が変わることが確認出来ます。
どうでしょうか。言葉が足りないかも知れませんが・・・ コードを読めばSelectedValueの使い方が分かると思います。
----------
Imports System.data.OleDb
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Database\Animals.mdb") Dim cm As OleDbCommand = cn.CreateCommand Dim da As New OleDbDataAdapter(cm) Dim ds As New DataSet
cm.CommandText = "SELECT * FROM T_動物マスタ"
da.Fill(ds, "animal")
da.SelectCommand = New OleDbCommand da.SelectCommand.CommandText = "SELECT 目ID,目名 FROM T_目マスタ" da.SelectCommand.Connection = cn
da.Fill(ds, "eye")
Dim bs As New BindingSource(ds, "animal") BindingNavigator1.BindingSource = bs
TextBox1.DataBindings.Add("Text", bs, "名前") TextBox2.DataBindings.Add("Text", bs, "体長")
ComboBox1.DataBindings.Add("SelectedValue", bs, "目ID") ComboBox1.DataSource = ds.Tables("eye") ComboBox1.DisplayMember = "目名" ComboBox1.ValueMember = "目ID"
DataGridView1.DataSource = bs End Sub End Class
|