.net - rdlc 中的子报表仅显示 master 中的一条记录
问题描述
我有一个显示费用的报告和一个显示所有费用的子报告。这就是我将数据传递给主报告和子报告的方式
Dim datasource As New ReportDataSource("Expenses", Ds.Tables(0))
Me.ReportViewer1.LocalReport.ReportPath = "../../Reports/Expenses.rdlc"
Me.ReportViewer1.LocalReport.ReportEmbeddedResource = "../../Reports/Expenses.rdlc"
Me.ReportViewer1.LocalReport.DataSources.Clear()
Me.ReportViewer1.LocalReport.DataSources.Add(datasource)
AddHandler ReportViewer1.LocalReport.SubreportProcessing, AddressOf SetSubDataSource
Me.ReportViewer1.LocalReport.Refresh()
Me.ReportViewer1.RefreshReport()
Me.Show()
End If
End Sub
Public Sub SetSubDataSource(ByVal sender As Object, ByVal e As SubreportProcessingEventArgs)
Dim Ds As New DataSet
Call gSetDatabaseConnection()
Dim sqlcmd As New SqlCommand
With sqlcmd
.CommandType = CommandType.StoredProcedure
.CommandText = "CV_GetPay_BY_EXP"
.Connection = gSqlConncetion
.Parameters.Add(New SqlParameter("@iExp", SqlDbType.Int))
.Parameters("@iExp").Direction = ParameterDirection.Input
.Parameters("@iExp").Value = CType(e.Parameters(0), ReportParameterInfo).Values(0) '11747
Dim sqladp As New SqlDataAdapter(sqlcmd)
sqladp.Fill(Ds)
gSqlConncetion.Close()
End With
Dim datasource As New ReportDataSource("Payments", Ds.Tables(0))
Dim path As String
path = e.ReportPath
e.DataSources.Add(datasource)
End Sub
解决方案
当我插入子报告时发现它应该插入组内以在每一行之后重复。
推荐阅读
- java - 测试http连接
- java - JMockit 无法捕获接口实现的参数
- sed - 一种将模式之前的每一行的开头附加到每一行的末尾的方法?
- c# - 如何将字符串值从 WidowsForm 传递到 ASP.NET MVC 控制器
- html - 如何实现曲顶指针
- vue.js - 无法在 Nuxt 应用程序中添加指令作为插件
- angular - 价值的自定义验证器
- powershell - Powershell Direct 从 Jenkins 到 Hyper-v Windows 10
- node.js - Selenium 等待并点击使用 nodejs
- java - 有没有办法通过代码列出不同账户中的 IAM 角色?