>我有一个单列数据表和一个列表框在下面的函数中,我尝试将列表框项源设置为数据表,但它将行显示为 System.Datarow
Private Sub setghostshopslistitemsource()
GhostShopsList.Items.Clear()
Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mydocumentddir & "SettingsSettings.mdb")
GhostsDatatableda = New OleDbDataAdapter("Select Ghost From GhostsTable", con)
GhostsDatatableda.Fill(GhostsDatatable)
GhostShopsList.ItemsSource = GhostsDatatable.DefaultView
End Sub
那么最后一行有什么问题呢?数据表看起来像
鬼魅
文本1
文本2
文本3...
我只想在列表框中显示每个文本
使用上述函数,列表框将显示
System.Data.DataRow
System.Data.DataRow
System.Data.DataRow
.
.
.
项目仍然是行,请尝试将DisplayMemberPath
设置为 "[0]"
以绑定到第一列值。
您需要指定行的显示方式。 如果你只需要一个文本框,那么写这样的东西:
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Ghost}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>