VB.NET DataGrid不显示数据库中的第一行数据

时间:2018-07-30 04:55:41

标签: vb.net wpfdatagrid

我正在尝试在数据网格中填充数据库表。 现在,我可以填充它,但是这里的问题是它仅显示第二行数据。表中未显示第一行数据。 我仔细检查了数据库表,它显示了3行数据,但是在datagrid中,它仅显示了2行数据。在问这个问题之前,我已经在网络上进行了研究,但是从网络搜索中找不到任何解决方案。

这是我的xaml代码:

<Grid Background="#FF006E8C">
    <Separator HorizontalAlignment="Left" Height="100" Margin="0,60,0,0" VerticalAlignment="Top" Width="695" FontSize="16" Background="White"/>
    <Label x:Name="labelLoginName" Content="Label" HorizontalAlignment="Left" Margin="552,125,0,0" VerticalAlignment="Top"/>
    <DataGrid x:Name="userDataGrid" HorizontalAlignment="Left" Margin="35,146,0,0" VerticalAlignment="Top" Height="265" Width="640"/>

</Grid>

这是我的vb代码:

Private Sub Windows_Loaded(sender As Object, e As RoutedEventArgs)
    labelLogin = loginName
    labelLoginName.Content = labelLogin
    Dim query As String
    query = "select * from users"
    reader = db.QueryCommand(query)

    If Not IsNothing(reader) Then
        If reader.HasRows() Then
            While reader.Read()
                userDataGrid.ItemsSource = reader
            End While
        Else
            MessageBox.Show("No data")
        End If
    Else
        MessageBox.Show("Error at reader")
    End If

有人可以帮我吗?我是按照youtube上的本教程视频中的教程进行操作的:here

Tq。

1 个答案:

答案 0 :(得分:0)

我能够通过从函数中删除while循环来解决它。

If Not IsNothing(reader) Then
    If reader.HasRows() Then
        userDataGrid.ItemsSource = reader
    Else
        MessageBox.Show("No data")
    End If
Else
    MessageBox.Show("Error at reader")
End If
相关问题