コンボボックスのリストにデータテーブルの内容を表示させるには?


もりお  2007-11-16 03:54:04  No: 138136

お世話になっております。もりおと申します。

【環境】
VisualStadio 2005 VB.NET
.Net Framwork 2.0
SQLServer 2000

【ソース1】
  Dim con as New SqlClient.SqlConnection("接続文字列")
  Dim adp As New SqlClient.SqlDataAdapter("Select col1, col2 From TABLE1", con)  ’←※
  Dim ds As New DataSet
  adp.Fill(ds)
  adp.Dispose()
  Me.ComboBox1.ValueMember = "col1"
  Me.ComboBox1.DisplayMember = "col2"
  Me.ComboBox1.DataSource = ds.Tables(0)

【ソース2】
  Dim con as New SqlClient.SqlConnection("接続文字列")
  Dim adp As New SqlClient.SqlDataAdapter("Select col1 As 'TABLE1.col1', col2 As 'TABLE1.col2' From TABLE1", con)
  Dim ds As New DataSet
  adp.Fill(ds)
  adp.Dispose()
  Me.ComboBox1.ValueMember = "TABLE1.col1"
  Me.ComboBox1.DisplayMember = "TABLE1.col2"
  Me.ComboBox1.DataSource = ds.Tables(0)

上記ソース1の場合コンボボックスのリストには求める形でデータが入るのですが、ソース2の場合、コンボボックスのリストにはTABLE1内のレコード分「System.Data.DataRow」と表示されてしまいます。
また、ソース2のカラム別名に"."の付かない適当な名前を付け、ValueMemberとDisplayMemberにこれらを指定するとソース1の時と同じ動作をします。
長々となってしまいましたが、上記ソース2のようにカラム別名に"."を付けた状態でValueMemberとDisplayMemberを指定する方法を御掲示して頂きたくご質問させて頂きました。なにとぞ宜しくお願い致します。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加