我需要一点帮助。
我有一个表单,它将存储在访问数据库中的所有客户端显示为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
您的帮助将受到高度赞赏。
答案 0 :(得分:0)
我相信你的问题是NoticeComplianceTableAdapter.FillByClientANDComplianceDate
每次调用时都会用当前迭代中的新数据覆盖现有数据,所以它只保存最后一次迭代数据。
要解决此问题,您需要修改该函数(或为其创建重载)以清除现有数据,或创建在循环之前声明的临时容器,并每次添加新数据,然后将报告附加到该临时数据。
答案 1 :(得分:0)
感谢Bradlet Uffner先生的回复。您的回复有助于找到解决方案。
解决方案是为NoticeComplianceTableAdater
将Clearbeforefill设置为false不会清除当前迭代中包含新数据的现有数据。