VB.NET listview没有显示数据集中的所有数据

时间:2013-08-09 09:33:18

标签: database vb.net listview datatable dataset

这个问题让我很生气,我无法理解为什么会这样。我正在使用vb.net在访问数据库中运行查询,然后将数据放入listview。代码:

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Dim strAccessConn As String = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = T:\mydb.accdb"
    Dim cn As OleDbConnection = New OleDbConnection(strAccessConn)
    Dim ds As New DataSet
    Dim dt As DataTable

    'Note the query is entered as a string.
    Dim da As New OleDbDataAdapter("Q_LIST", cn) 'is the name of the query in Access 

    'Set the CommandType of the SelectCommand to TableDirect
    da.SelectCommand.CommandType = CommandType.TableDirect
    da.Fill(ds, "mytable")
    dt = ds.Tables("mytable")

    ListViewBatchResults.MultiSelect = True
    ListViewBatchResults.View = View.Details
    ListViewBatchResults.GridLines = True
    ListViewBatchResults.Columns.Clear()
    ListViewBatchResults.Items.Clear()

    For Each col As DataColumn In dt.Columns()
        ListViewBatchResults.Columns.Add(col.ToString)
    Next

    MsgBox(dt.Rows.Count)

    For Each row As DataRow In dt.Rows()

        Dim lst As ListViewItem

        lst = ListViewBatchResults.Items.Add(row(0))

        For i As Integer = 1 To dt.Columns.Count - 1
            lst.SubItems.Add(row(i))
        Next

    Next


End Sub

这个列表视图虽然没有显示所有返回的数据,但我无法解决原因 - 它适用于DB中的其他查询,但出于某种原因不适用于此。行计数显示有264行,但是当我运行项目时,listview只显示其中的3行。到底是怎么回事?

干杯!

1 个答案:

答案 0 :(得分:0)

Dim lst As ListViewItem

Dim lst As New ListViewItem