Dim adapter As New System.Data.SqlClient.SqlDataAdapter
Dim cmd As New System.Data.SqlClient.SqlCommand
Dim cmdstr As String = _
"select * from SendSubTicket where mainID in (select intID from SendMainTicket)"
cmd.Connection = GlobalBase.current.connection
cmd.CommandText = cmdstr
adapter.SelectCommand = cmd
adapter.Fill(Me.DsSendTicket1, "SendSubTicket")
cmd.CommandText = "select * from SendMainTicket"
adapter.SelectCommand = cmd
adapter.Fill(Me.DsSendTicket1, "SendMainTicket") Me.SendSubTicketBindingSource.DataSource = Me.DsSendTicket1
Me.SendSubTicketBindingSource.DataMember = "SendSubTicket" '主报表数据源
Me.SendMainTicketBindingSource.DataSource = Me.DsSendTicket1
Me.SendMainTicketBindingSource.DataMember = "SendMainTicket" Dim streamRder As New System.IO.StreamReader("E:\Soms.Net\Soms.Manager\Reports\SendsubTicket.rdlc")
streamRder.ReadToEnd()
System.Diagnostics.Debug.Write(streamRder.ToString()) ReportViewer1.LocalReport.LoadSubreportDefinition("SendsubTicket.rdlc", streamRder)
Dim myReportDataSource1 As Microsoft.Reporting.WinForms.ReportDataSource = _
New Microsoft.Reporting.WinForms.ReportDataSource( _
"SendSubTicket", Me.DsSendTicket1.Tables("SendSubTicket"))
Me.ReportViewer1.LocalReport.DataSources.Add(myReportDataSource1)
Me.ReportViewer1.RefreshReport()
子报表就是不能显示出来...不知道是我做错了..还是..怎么的
有谁做过吗..
Dim cmd As New System.Data.SqlClient.SqlCommand
Dim cmdstr As String = _
"select * from SendSubTicket where mainID in (select intID from SendMainTicket)"
cmd.Connection = GlobalBase.current.connection
cmd.CommandText = cmdstr
adapter.SelectCommand = cmd
adapter.Fill(Me.DsSendTicket1, "SendSubTicket")
cmd.CommandText = "select * from SendMainTicket"
adapter.SelectCommand = cmd
adapter.Fill(Me.DsSendTicket1, "SendMainTicket") Me.SendSubTicketBindingSource.DataSource = Me.DsSendTicket1
Me.SendSubTicketBindingSource.DataMember = "SendSubTicket" '主报表数据源
Me.SendMainTicketBindingSource.DataSource = Me.DsSendTicket1
Me.SendMainTicketBindingSource.DataMember = "SendMainTicket" Dim streamRder As New System.IO.StreamReader("E:\Soms.Net\Soms.Manager\Reports\SendsubTicket.rdlc")
streamRder.ReadToEnd()
System.Diagnostics.Debug.Write(streamRder.ToString()) ReportViewer1.LocalReport.LoadSubreportDefinition("SendsubTicket.rdlc", streamRder)
Dim myReportDataSource1 As Microsoft.Reporting.WinForms.ReportDataSource = _
New Microsoft.Reporting.WinForms.ReportDataSource( _
"SendSubTicket", Me.DsSendTicket1.Tables("SendSubTicket"))
Me.ReportViewer1.LocalReport.DataSources.Add(myReportDataSource1)
Me.ReportViewer1.RefreshReport()
子报表就是不能显示出来...不知道是我做错了..还是..怎么的
有谁做过吗..
Cr1.SetDataSource(ds.Tables["XXX"]);
Cr1.Subreports[0].SetDataSource(ds.Tables["X1"]);//这是子报表1,填充的是数据表X1
Cr1.Subreports[1].SetDataSource(ds.Tables["X2"]);//这是子报表2,填充的是数据表X2
...
this.crystalReportViewer1.ReportSource = Cr1;
void ShowReportInViewer()
{
this.MainReportViewer.Reset(); StreamReader report = File.OpenText(@"Reports\MyMainReport.rdlc");
this.MainReportViewer.LocalReport.LoadReportDefinition(report); StreamReader subReport = File.OpenText(@"Reports\MySubReport.rdlc");
this.MainReportViewer.LocalReport.LoadSubreportDefinition("ReportNameValue", subReport); ReportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(SubreportProcessingEventHandler); this.MainReportViewer.RefreshReport();
}
void SubreportProcessingEventHandler(object sender, SubreportProcessingEventArgs e)
{
DataTable dt1 = DBHelper.GetData(obj.getdetailSQL(""), "objdetail").Tables[0];
ReportDataSource rds1 = new ReportDataSource("ReportDB", dt1);
e.DataSources.Add(rds1);
}我测试过的可以用...