列表视图vbnet

时间:2016-03-02 09:23:15

标签: mysql sql .net vb.net winforms

我无法在ListView中查看已保存的项目。

1Item Noc001Item Code,但是:

enter image description here

我的代码出了什么问题?

ListView1.Items.Clear()

sql = "SELECT * FROM inventory"
Try
    dbcomm = New MySqlCommand(sql, dbconn)
    dbread = dbcomm.ExecuteReader()

    While dbread.Read
        ListView1.Items.Add(dbread("itemNo"))
        ListView1.Items.Add(dbread("itemCode"))
    End While

    dbread.Close()
Catch ex As Exception
    MsgBox("Error in collecting data from Database. Error is :" & ex.Message)
    dbread.Close()
    Exit Sub
End Try

2 个答案:

答案 0 :(得分:4)

您应该在SubItems而不是Items中添加第二项。改变这个:

While dbread.Read
    ListView1.Items.Add(dbread("itemNo")) 'placed in row #1
    ListView1.Items.Add(dbread("itemCode")) 'placed in row #2
End While

分为:

While dbread.Read
    ListView1.Items.Add(dbread("itemNo")).SubItems.Add(dbread("itemCode")) 'both placed in row #1
End While

这样,你可以将它们并排放置。不是一排又一排。

答案 1 :(得分:2)

每次拨打Items.Add时,都会添加一个全新的项目(它还会返回您添加的项目的引用)

您需要做的是设置您添加的每个项目的SubItem文本。您可以使用返回的项目引用来执行此操作(需要Option Infer On):

    While dbread.Read
        Dim lvi = ListView1.Items.Add(dbread("itemNo"))
        lvi.SubItems.Add(dbread("itemCode"))
    End While