Wednesday, March 21, 2012

Nested tables in client side .RDLC reports

We are developing client side reports (.rdlc) that will require a nested
Parent-Child structure on the report.
The structure shown on the report would appear something like this:
PO# PO Date Invoice #
UPC # Catalog #
UCC-128# Catalog #
The above example would be the Column headings.
Our initial thought was:
Table
Table
Table
Each level needs to be formatted in a table-like format with column headers
and row data.
The data for the above is contained in a DataSet with multiple tables.
Each level can be one or many rows and needs to be grouped accordingly.
After adding a report(.rdlc) to the Visual Studio 2005 project, the report
designer and controls(Table, List, Matrix etc) do not seem to support this
type of nested structure.
You cannot put a table inside another tables detail section.
What would be the best way to accomplish this?Hello,
I would like to know whether the Tables have any relationship between them.
Basically, my suggestion is using the Group in the Table control. You could
include all the three tables in one resultset and using Group to group the
value.
You could refer the BOL to check whether the Group is suitable for your
scenario.
How to: Add a Group to a Table (Report Designer)
http://msdn2.microsoft.com/en-us/library/ms156487.aspx
Sincerely,
Wei Lu
Microsoft Online Community Support
==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.
Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================(This posting is provided "AS IS", with no warranties, and confers no
rights.)|||Hi Wei Lu,
Thank you for your response. What I have to work with is a Dataset with
multiple datatables representing the schema for the data, which I will
receive in xml. So the data will be returned to me in xml also. I have 6 Data
Tables in the dataset with relations between them via foreign keys.
Am I correct in determining what you are suggesting is combining all 6
datatables into one datatable and using this one datatable as the dataset for
my report. And then set up grouping?
If this is correct, what would be the easier way to take datatables with
relations defined and combine them?
Would I need to create a master dataset and then loop through all 6
DataTables and manually build the main table?
Thanks in advance!
"Wei Lu [MSFT]" wrote:
> Hello,
> I would like to know whether the Tables have any relationship between them.
> Basically, my suggestion is using the Group in the Table control. You could
> include all the three tables in one resultset and using Group to group the
> value.
> You could refer the BOL to check whether the Group is suitable for your
> scenario.
> How to: Add a Group to a Table (Report Designer)
> http://msdn2.microsoft.com/en-us/library/ms156487.aspx
> Sincerely,
> Wei Lu
> Microsoft Online Community Support
> ==================================================> Get notification to my posts through email? Please refer to
> http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
> ications.
> Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
> where an initial response from the community or a Microsoft Support
> Engineer within 1 business day is acceptable. Please note that each follow
> up response may take approximately 2 business days as the support
> professional working with you may need further investigation to reach the
> most efficient resolution. The offering is not appropriate for situations
> that require urgent, real-time or phone-based interactions or complex
> project analysis and dump analysis issues. Issues of this nature are best
> handled working with a dedicated Microsoft Support Engineer by contacting
> Microsoft Customer Support Services (CSS) at
> http://msdn.microsoft.com/subscriptions/support/default.aspx.
> ==================================================> (This posting is provided "AS IS", with no warranties, and confers no
> rights.)
>|||Hello,
Why not using the SQL statement to retrive the data from the database
directly?
Also, you could add some column in the datatable and using the Expression
to refer the other table's data.
For more detailed information about the expression, please refer following
article:
http://msdn2.microsoft.com/en-us/library/system.data.datacolumn.expression.a
spx
Sincerely,
Wei Lu
Microsoft Online Community Support|||Hello,
Does my suggestion make any sense to you?
If you have any concerns, please feel free to let me know
Sincerely,
Wei Lu
Microsoft Online Community Support|||Wei Lu,
I'm not sure if I understand what you are suggesting with column expressions.
We are developing an application that will display Reporting Servives clinet
(.rdlc) files via the ReportViewer.
These reports need to be completely dynamic. The Datset Schema, data, and
the .rdlc Report format file must all be dynamic.
The Dataset Schema Xml is stored on the client and will consist of several
Data Tables with relationships defined connectiong all of the tables.
An .rdlc report can only be bound to one datatable as the source for the
report data.
What we need to accomplish is to pull all of the data from all of the
DataTables into one to use as the report source.
This is normally done through a SQL join against the database. Since the
schema is completely dynamic, we do not have any database tables to run a
JOIN.
We need to be able to simulate this join using only DataSet and DataTables.
We've investigated using the JoinView class to join fields from all of these
tables into one but it looks as if JoinView can not support joining all of
these tables. Joinview only takes one table and operates on Parent and Child
relationships from this one table.
If I start at the table at the lowest level in the heirarchy, it seems as if
I can only pull fields from the parent of this table, and not fields from the
rest of the tables (Parent of Parent, Parent of thisParent etc).
1) Is there a way to do this using JoinView to pull data from all tables
into one for the report?
2) Can this be done using relationships by loopiong through all tables?
3) Am I approaching this the wrong way and if so do you have any suggestions
The dynamic schema is read into a Dataset at runtime with the data. So I
will not even know how many tables, columns, fields, and what data is
contained until then.
"Wei Lu [MSFT]" wrote:
> Hello,
> Does my suggestion make any sense to you?
> If you have any concerns, please feel free to let me know
> Sincerely,
> Wei Lu
> Microsoft Online Community Support
>|||Hello,
I am not sure why you want to dynamic the dataset.
If so, I think it will be very hard to build up the report. My suggestion
is to use the .NET to generate a rdlc file by your custom application.
Sincerely yours,
Wei Lu
Microsoft Online Partner Support
=====================================================
PLEASE NOTE: The partner managed newsgroups are provided to assist with
break/fix
issues and simple how to questions.
We also love to hear your product feedback!
Let us know what you think by posting
- from the web interface: Partner Feedback
- from your newsreader: microsoft.private.directaccess.partnerfeedback.
We look forward to hearing from you!
======================================================When responding to posts, please "Reply to Group" via your newsreader so
that others
may learn and benefit from this issue.
======================================================This posting is provided "AS IS" with no warranties, and confers no rights.
======================================================|||Hi ,
How is everything going? Please feel free to let me know if you need any
assistance.
Sincerely,
Wei Lu
Microsoft Online Community Support
==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
==================================================This posting is provided "AS IS" with no warranties, and confers no rights.|||Hi Wei Lu,
I have the exact same problem but it's not possible for me at this
point to create a new datatable in the dataset with a single level
structure.
I have a DataSet with two datatables and a relation between them. Let's
say Invoice and InvoiceDetails.
I also have a local report with a grouping structure to represent that.
The thing is that only the InvoiceDetails lines are shown in the
report. Is there a way I can tell a textbox that the Field I want to
show is from a particular datatable? otherwise, is there a way to tell
a Field which datatable it belongs to?
Any help would be appreciated
TIA,
Sebasti=E1n
On Oct 9, 8:09 am, w...@.online.microsoft.com (Wei Lu [MSFT]) wrote:
> Hi ,
> How is everything going? Please feel free to let me know if you need any
> assistance.
> Sincerely,
> Wei Lu
> Microsoft Online Community Support
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D==3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D==3D
> When responding to posts, please "Reply to Group" via your newsreader so
> that others may learn and benefit from your issue.
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D==3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D==3D
> This posting is provided "AS IS" with no warranties, and confers no right=s=2E

No comments:

Post a Comment