0

尝试在 itemDatabound 期间访问列表视图中的上一个项目,但它没有返回任何内容。事实上,lvListview.items.count 显示为 0;即使记录清楚地存在。

当然感谢您的帮助。:)

Protected Sub lvReleaseNotesReport_ItemDataBound(sender As Object, e As ListViewItemEventArgs) Handles lvReleaseNotesReport.ItemDataBound

    If e.Item.ItemType = ListViewItemType.DataItem Then

        Dim relNote As ReleaseNotesDTO = DirectCast(e.Item.DataItem, ReleaseNotesDTO)
        If e.Item.DataItemIndex > 0 Then
            Dim prevNote As ReleaseNotesDTO = DirectCast(lvReleaseNotesReport.Items(e.Item.DataItemIndex - 1).DataItem, ReleaseNotesDTO)
            'prevNote keeps coming up as Nothing
        End If

        'do other stuff with relNote and prevNote...

    End If

End Sub

这个也试过了,...

Protected Sub lvReleaseNotesReport_PreRender(sender As Object, e As EventArgs) Handles lvReleaseNotesReport.PreRender

    For Each item As ListViewItem In lvReleaseNotesReport.Items

        If item.ItemType = ListViewItemType.DataItem Then

            If item.DataItemIndex > 0 Then

                Dim thisNote As ReleaseNotesDTO = DirectCast(item.DataItem, ReleaseNotesDTO)
                Dim prevItem As ListViewDataItem = lvReleaseNotesReport.Items(item.DataItemIndex - 1)
                Dim prevNote As ReleaseNotesDTO = DirectCast(prevItem.DataItem, ReleaseNotesDTO)

                'do other stuff with relNote and prevNote...

            End If

        End If

    Next

End Sub

在单步执行代码时,将鼠标悬停在 lvReleaseNotesReport.Items 上会显示正确的记录数,但所有数据项都是 = 没有。

4

1 回答 1

0

无论如何,谢谢,我想通了。DataKeyNames 和 DataKeys 索引。

<asp:ListView ID="lvReleaseNotesReport" runat="server" DataKeyNames="Build" GroupItemCount="1">

    Dim keyIndex As Int32 = 0
    For Each item As ListViewDataItem In lvReleaseNotesReport.Items

        If item.DataItemIndex > 0 Then

            Dim thisBuildID As String = lvReleaseNotesReport.DataKeys(keyIndex)("Build").ToString()
            Dim prevBuildID As String = lvReleaseNotesReport.DataKeys(keyIndex - 1)("Build").ToString()
            If thisBuildID = prevBuildID Then

               'DO STUFF

        End If
        keyIndex += 1

    Next
于 2017-01-27T19:07:19.887 回答