tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルComboBoxで選択した名称に変わらないのは
記事No5789
投稿日: 2007/07/05(Thu) 17:48
投稿者びぎ
 いつも、大変お世話になります。

先日教えて頂き、ComboBoxにSOLServerからデータをセットし
表示できるようになりましが、選択してもBOXの名称が変わりません。

何か設定(プロパティ)があるのですか?

[ツリー表示へ]
タイトルRe: DataBindingsのせい?
記事No5790
投稿日: 2007/07/06(Fri) 10:14
投稿者びぎ
  すいません。

  cboBCD.DataSource = ds
  cboBCD.DisplayMember = "BMN.BCDME"
  cboBCD.ValueMember = "BMN.BCD"
  cboBCD.DataBindings.Add("SelectedValue", ds, "BMN.BCD")

 のようなコードを書いたのですが
 どうも4行目が関係していました。
  
 コメントにしたらOKでしたが、4行目は不要なのでしょうか。

[ツリー表示へ]
タイトルRe^2: DataBindingsのせい?
記事No5804
投稿日: 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

[ツリー表示へ]