将列表框的项源设置为单列数据表



>我有一个单列数据表和一个列表框在下面的函数中,我尝试将列表框项源设置为数据表,但它将行显示为 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>

最新更新