Vb.net 如何遍历listview并将主项和子项文本分配到迭代按钮上

Vb.net 如何遍历listview并将主项和子项文本分配到迭代按钮上,vb.net,listview,Vb.net,Listview,我试图获取ListView中每一行的文本,并将其分配到 迭代的平铺/按钮。不幸的是,我编写的代码只取最后一行并将其打印到所有 迭代瓷砖。(顺便说一句,这些贴片是DevExpress-第三方公司。但这不是本文的重点) 比如说。listview包含以下两行(可能更多) 因此,我寻求的是以这种方式在迭代的分幅/按钮上打印的能力: 第一个互动程序的文本: 萨姆 日本 东京 第二个互动程序的文本: 德克斯特 意大利 罗马 这是我的代码: Dim strTileInfo As String = Nothin

我试图获取ListView中每一行的文本,并将其分配到 迭代的平铺/按钮。不幸的是,我编写的代码只取最后一行并将其打印到所有 迭代瓷砖。(顺便说一句,这些贴片是DevExpress-第三方公司。但这不是本文的重点)

比如说。listview包含以下两行(可能更多)

因此,我寻求的是以这种方式在迭代的分幅/按钮上打印的能力:

第一个互动程序的文本:
萨姆
日本 东京

第二个互动程序的文本: 德克斯特
意大利
罗马

这是我的代码:

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

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

代码只获取最后一行,并在所有迭代的分幅中打印它,因为对于每个分幅,您都会将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
Dim strteleinfo As String=Nothing
尺寸i为整数=0
将每个磁贴作为TileControl.Items中的TileItem
strteleinfo=无
tile.Text=无
如果我
代码只获取最后一行,并在所有迭代的分幅中打印它,因为对于每个分幅,您都会将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
Dim strteleinfo As String=Nothing
尺寸i为整数=0
将每个磁贴作为TileControl.Items中的TileItem
strteleinfo=无
tile.Text=无
如果我
互动程序的计数是否等于listview中的项目计数?顺便说一句,您的问题是因为您循环了每个磁贴的所有列表项,并且始终将磁贴标题设置为最后一个列表项的值…hello Robin。我真的一整天都在想办法。我会很高兴,如果有人可以支持我的代码。我一直在读,试图评估逻辑,但仍然没有解决它,时间不在我这边。此阶段的示例将非常有用。互动程序的计数是否等于listview中的项目计数?顺便说一句,您的问题是因为您循环了每个磁贴的所有列表项,并且始终将磁贴标题设置为最后一个列表项的值…hello Robin。我真的一整天都在想办法。我会很高兴,如果有人可以支持我的代码。我一直在读,试图评估逻辑,但仍然没有解决它,时间不在我这边。在这个阶段举个例子会很有帮助。很高兴能帮助你!如果这解决了您的问题,请记住将答案标记为已接受。也谢谢你:)很高兴帮助你!如果这解决了您的问题,请记住将答案标记为已接受。也谢谢你:)