views:

252

answers:

3

I am using Microsoft SQL Server Reporting Services 2005

I have a report that when printed I want to display a record in each of the 4 corners of a landscape page.

I am using a single Dataset that returns 1 to many records.

How do I accomplish this with a table or matrix?

For example if I had 6 records in my dataset:

Page 1

|---------------------|
| record 1 | record 2 |
|---------------------|
| record 3 | record 4 |
|---------------------|

Page 2

|---------------------|
| record 5 | record 6 |
|---------------------|
| [empty]  | [empty]  |
|---------------------|
+1  A: 

The only way I can think of is by using subreports, one showing all even rows, the other one showing all odd rows.

cdonner
+3  A: 

So I have found a successful way to do this (with help from cdonner's suggestion), have 2 identical table templates and have one display all odd records and the other to display all even records.

This is what Design Mode looks like:

|-------------------|
| table 1 | table 2 |
|-------------------|

Then, what I did was on each tablerow of each table added the expressions to the Visibility > Hidden property of the tablerow:

For Odd Rows:

=RowNumber(Nothing) Mod 2 = 0

For Even Rows:

=RowNumber(Nothing) Mod 2 = 1
Jon Erickson
A: 

To add Groups to Jon's answer, place tables 1 and 2 within a parent table which performs the grouping:

table-parent
    group-row-header // header text..?
    group-row-footer // group name is important for below
        rectangle
            table-child-1 | table-child-2 | etc  // =RowNumber("my-group-name")

Note RowNumber must be based on the group so that it resets with each loop.

Seba Illingworth