ここから本文です

vbのcombobox

sya********さん

2011/3/603:18:57

vbのcombobox

vbでcomboboxを使っています。

coomboboxの中にsqlから取得した日付をセットしようとしているのですがうまくできません。

ソースはこんな感じです。

Imports MySql.Data.MySqlClient
Public Class Form4
Dim Command As MySqlCommand
Dim Connection As New MySqlConnection
Dim strSQL As String
Dim dadp As MySqlDataAdapter
Dim dset As DataSet = New DataSet("rireki")
Dim cmb As DataSet = New DataSet("hi")
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'接続文字列を設定
Connection.ConnectionString = "Database=mysql;Data Source=localhost;User Id=root;Password=mysql"
'オープン
Connection.Open()
strSQL = "select distinct hiduke from rireki order by hiduke"
dadp = New MySqlDataAdapter(strSQL, Connection)
dadp.Fill(cmb, "hi")
comboBox1.DataSource = cmb
End Sub

このように書くとcomboboxの中に「System.Data.DataViewManagerListItemTypeDescriptor」とセットされています。
何故でしょう??どなたか教えていただきたいです。よろしくお願いします。

閲覧数:
581
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

2011/3/611:29:57

DataSetの中身は、「DataSet-->DataTable-->DataColumn->DataRow」ですよね?s

そのDataSetをcomboBox1に渡されても、comboBoxは、その中の何を表示すればよいのかわかりません。なので、とりあえず、もらったまま表示しちゃろうって事で、「System.Data.DataViewManagerListItemTypeDescriptor」です。

ですので、comboBoxに、この「DataTable」のこの「DataColumn」のデータを表示してちょとお願いしないといけません。

comboBox1.DataSource = cmb.Tables("hi")
comboBox1.DisplayMember = "hiduke"
comboBox1.ValueMember = "hiduke"

とすると、"hi"という名前のDataTableのhiduke という名前のDataColumnにあるデータを表示して下さいになります。

「ValueMember」プロパティにも設定してますが、これの意味はヘルプを見てください。困ったときは、選択して、F1をぽちっとな。

質問した人からのコメント

2011/3/6 12:20:51

成功 ありがとうございます。とてもわかりやすかったです<m(__)m>

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる