如何遍历列表视图并将主项和子项文本分配到迭代按钮上

时间:2016-06-24 00:07:34

标签: vb.net listview

我试图抓取ListView每行的文本并将其分配给 迭代的瓷砖/按钮。不幸的是,我编写的代码仅占用最后一行并将其打印到所有代码上 迭代的Tiles。 (Tiles是DevExpress - 顺便说一句第三方补偿。但这不是重点)

例如。列表视图包含以下两行(可能更多);

Name | Country | City
---------------------------
Sam  |  Japan  | Tokyo
Dexter | Italy | Rome

因此我所寻求的是以这种方式打印到迭代的瓷砖/按钮上的能力:

第一个文章的文字:
山姆
日本 东京

第二篇文章: 德克斯特
意大利
罗马

这是我的代码:

Dim strTileInfo As String = Nothing

    For Each tile As TileItem In TheTileControl.Items 'My iteration code through the tiles/buttons

        strTileInfo = Nothing
        tile.Text = Nothing

        'My attempt to assign each row of the ListView main item and subitem texts 
        'i.e. Each row to each button
        For i = 0 To ListView.Items.Count - 1
            strTileInfo = ListView.Items(i).Text & vbCrlf & ListView.Items(i).SubItems(1).Text
            tile.Text = strTileInfo
        Next

    Next

我将非常感谢你的帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

代码只占用最后一行并将其打印在所有迭代的Tiles中,因为对于每个Tile,您将ListView交叉到最后一个元素,后者在下面分配。试试这段代码:

Dim strTileInfo As String = Nothing

Dim i As Integer = 0
For Each tile As TileItem In TheTileControl.Items
    strTileInfo = Nothing
    tile.Text = Nothing

    If i < ListView.Items.Count Then
        strTileInfo = ListView.Items(i).Text & vbCrLf & ListView.Items(i).SubItems(1).Text
        tile.Text = strTileInfo
        i += 1
    End If

Next
相关问题