vb.net 列表视图中多个复选框项目的 RDLC 报告

RDLC report for multiple checked box items in Listview in vb.net

我需要一点帮助。

我有一个表单显示所有客户端,存储在访问数据库中,作为列表视图控件中的复选框项目。我希望用户选中多个复选框以查看所选客户端的详细信息并将其显示在 rdlc 报告中。

我在 form_load 事件中的 VB.net 中编写了以下代码,但它只显示了最后选择的项目。

我想要一些代码的分段,它在 rdlc 报告中显示所有选定客户端的详细信息。

Private Sub TodaysPendingCompliances_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    For Each SelctedCLient As ListViewItem In TodaysCompliances.ListView1.CheckedItems
        Me.NoticeComplianceTableAdapter.FillByClientANDComplianceDate(Me.ComplianceDBDataSet.NoticeCompliance, SelctedCLient.Text)
    Next

    Me.ReportViewer1.RefreshReport()
End Sub

非常感谢您的帮助。

我相信你的问题是 NoticeComplianceTableAdapter.FillByClientANDComplianceDate 每次调用时都会用当前迭代的新数据覆盖现有数据,因此它只保存最后一次迭代数据。

要解决这个问题,您需要修改该函数(或为其创建重载)以不清除现有数据,或者创建一个您在循环之前声明的临时容器,并每次添加新数据,然后将报告附加到该临时数据。

感谢 Bradlet Uffner 先生的回复。您的回复有助于找到解决方案。

解决方案是为 NoticeComplianceTableAdater

设置 Clearbeforefill = False

将 Clearbeforefill 设置为 false 不会用当前迭代中的新数据清除现有数据。