在vb.net的Listview中的多个选中框项目的RDLC报告

时间:2016-03-04 07:57:30

标签: vb.net listview rdlc

我需要一点帮助。

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

我已经在form.net的事件中在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

您的帮助将受到高度赞赏。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

解决方案是为NoticeComplianceTableAdater

设置Clearbeforefill = False

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