| Partial Public Class MasterReport |
| Inherits Report |
| Public Sub New() |
| InitializeComponent() |
| End Sub |
| Dim _ReportCriteria As IA.Reporting.ReportCriteria |
| 'Public Sub New(ByVal subReport As ReportBase, ByVal criteria As ReportCriteria) |
| Public Sub New(ByVal subReport As IReport, ByVal criteria As ReportCriteria) |
| InitializeComponent() |
| 'Init the DataSource |
| Dim oneRec As New GenericCollection(Of String) |
| oneRec.Add("one") |
| Me.DataSource = oneRec |
| 'Set the Sub Report Type |
| Me.SubReport1.ReportSource = subReport |
| Me.PictureBox1.Value = ReportRenderTools.ImageTools.IAHeaderImage |
| Me.reportNameTextBox.Value = subReport.ReportTitle |
| _ReportCriteria = criteria |
| End Sub |
| Private Sub SubReport1_NeedDataSource(ByVal sender As Object, ByVal e As System.EventArgs) Handles SubReport1.NeedDataSource |
| Dim subReport As Telerik.Reporting.Processing.SubReport = TryCast(sender, Telerik.Reporting.Processing.SubReport) |
| If Not subReport Is Nothing Then |
| Dim IRep As IReport = TryCast(subReport.InnerReport.ItemDefinition, IReport) |
| IRep.SetReportHeader(_ReportCriteria) |
| Dim data As Object = IRep.CreateDataSource(_ReportCriteria) |
| If data.Count = 0I Then |
| subReport.InnerReport.DataSource = Nothing |
| Else |
| subReport.InnerReport.DataSource = data |
| End If |
| End If |
| End Sub |
| End Class |
| private void subReport1_NeedDataSource(object sender, System.EventArgs e) |
| { |
| Telerik.Reporting.Processing.SubReport subReport = (Telerik.Reporting.Processing.SubReport)sender; |
| Task task = (Task)(subReport.DataItem); |
| subReport.InnerReport.DataSource = task.TaskDates; |
| } |
This is probably more of a support ticket situation, but until we get our client.net accounts straightened out with the right license info, maybe I can get a hand from the forums...
Having installed version 2008.3 1105 of Telerik Reporting, an existing project built with version Q2 2008 SP2 is now broken.
We were binding subreports to object collections on the parent report’s data item, like so:
private void SubReport1_NeedDataSource(object sender, System.EventArgs e)
{
var subReport = ((Telerik.Reporting.Processing.SubReport)sender);
subReport.InnerReport.DataSource = ((System.Data.DataRowView)subReport.Parent.DataItem).Row["OrderDetails"];
}
The yellow item (parent of a Processing.Subreport) was of type Processing.ReportItemBase in Q2 2008 SP2. In 2008.3 1105, the type has changed to Processing.ProcessingElement, which does not have a DataItem property.
Any suggestions?