Here's one approach to consider:
Create a matrix with one Row Group and one Column Group. Remove the row/column header rows and add a new column, so you only have two textboxes in the matrix body:
Set the Row Group expression to:
=Ceiling(RowNumber(Nothing) / 6)
Set the Column Group expression to:
=(RowNumber(Nothing) - 1) Mod 6
This creates artificial groupings that will have six values per row.
I set the first textbox expression to:
=IIf(Fields!Selected.Value = "True", "X", Nothing)
i.e. display X
when required. The main textbox is just set to the Type
field.
This gives a matrix of values as required:
Obviously the formatting is rough but you can see how it works.
If the ID value in the dataset is unique and sequential you might be able to use that instead of RowNumber()
. Also, this just preserves the Dataset order.
Hopefully this gives you a few ideas.