お世話になっております。もりおと申します。
【環境】
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を指定する方法を御掲示して頂きたくご質問させて頂きました。なにとぞ宜しくお願い致します。