+1 800 256 3608 (toll-free in North America) or +49 7531 9060-10| service@combit.com

Creating a report with List<List<T>> data structure

Hi team,
I am working on a flexible report. The report shows the appointments in a day.
It’s look like

The field on the report can be selected by user.
So I have created my data structure with all detail in seperate field instead of composing a string.
But the problem in report there can be multiple appointment in a day, therefore a cell of the report should show list of appointments. In this case our data structure should be like List<List>
After creating this data structure , I can see the sub list detail at the beginning of the design but
I could not see the sub list detail after adding the top level List onto report designer.
Its hierarchy looks like=>


My top level data object=>

public sealed class ResourcePlannerAllWeekReportDruck
public ResourcePlannerAllWeekReportDruck(
int id,
string fullName,
DayInfoDruck montagDayInfo,
DayInfoDruck dienstagDayInfo,
DayInfoDruck mittwochDayInfo,
DayInfoDruck donnerstagDayInfo,
DayInfoDruck freitagDayInfo,
DayInfoDruck samstagDayInfo,
DayInfoDruck sonntagDayInfo,
DateTime startDate,
string ressourcenfarbe,
byte ressourcenfarbeR,
byte ressourcenfarbeG,
byte ressourcenfarbeB,
DateTime endDate,
int kalenderWoche,
bool canShowSubject,
bool canShowTime,
bool canShowLocation,
bool canShowAppointmentType,
bool canShowDuration,
bool canShowAbsences,
bool canShowAuftragsbezeichnung,
bool canShowAuftragsnummer,
bool canShowAuftragsgeraetebezeichnung,
bool canShowTerminbeschreibung,
bool canShowTerminverantwortlicher)
Id = id;
FullName = fullName;
MontagDayInfo = montagDayInfo;
DienstagDayInfo = dienstagDayInfo;
MittwochDayInfo = mittwochDayInfo;
DonnerstagDayInfo = donnerstagDayInfo;
FreitagDayInfo = freitagDayInfo;
SamstagDayInfo = samstagDayInfo;
SonntagDayInfo = sonntagDayInfo;
StartDate = startDate;
Ressourcenfarbe = ressourcenfarbe;
RessourcenfarbeR = ressourcenfarbeR;
RessourcenfarbeG = ressourcenfarbeG;
RessourcenfarbeB = ressourcenfarbeB;
EndDate = endDate;
KalenderWoche = kalenderWoche;
CanShowSubject = canShowSubject;
CanShowTime = canShowTime;
CanShowLocation = canShowLocation;
CanShowAppointmentType = canShowAppointmentType;
CanShowDuration = canShowDuration;
CanShowAbsences = canShowAbsences;
CanShowAuftragsbezeichnung = canShowAuftragsbezeichnung;
CanShowAuftragsnummer = canShowAuftragsnummer;
CanShowAuftragsgeraetebezeichnung = canShowAuftragsgeraetebezeichnung;
CanShowTerminbeschreibung = canShowTerminbeschreibung;
CanShowTerminverantwortlicher = canShowTerminverantwortlicher;

    public int Id { get; }
    public string FullName { get; }
    public string Ressourcenfarbe { get; }
    public byte RessourcenfarbeR { get; }
    public byte RessourcenfarbeG { get; }
    public byte RessourcenfarbeB { get; }
    public DayInfoDruck MontagDayInfo { get; }
    public DayInfoDruck DienstagDayInfo { get; }
    public DayInfoDruck MittwochDayInfo { get; }
    public DayInfoDruck DonnerstagDayInfo { get; }
    public DayInfoDruck FreitagDayInfo { get; }
    public DayInfoDruck SamstagDayInfo { get; }
    public DayInfoDruck SonntagDayInfo { get; }
    public DateTime StartDate { get; }
    public DateTime EndDate { get; }
    public int KalenderWoche { get; }
    public bool CanShowSubject { get; }
    public bool CanShowTime { get; }
    public bool CanShowLocation { get; }
    public bool CanShowAppointmentType { get; }
    public bool CanShowDuration { get; }
    public bool CanShowAbsences { get; }
    public bool CanShowAuftragsbezeichnung { get; }
    public bool CanShowAuftragsnummer { get; }
    public bool CanShowAuftragsgeraetebezeichnung { get; }
    public bool CanShowTerminbeschreibung { get; }
    public bool CanShowTerminverantwortlicher { get; }

DayInfoDruck object like=>

public sealed class DayInfoDruck
public DayInfoDruck(
IReadOnlyCollection fehlzeiten,
DateTime date,
IReadOnlyCollection terminAuftragDrucks)
Date = date;
TerminAuftragDrucks = terminAuftragDrucks;
Fehlzeiten = fehlzeiten;

    public IReadOnlyCollection<FehlzeitPair> Fehlzeiten { get; }
    public DateTime Date { get; }
    public IReadOnlyCollection<TerminAuftragDruck> TerminAuftragDrucks { get; }

I hope you understand my intention fully.
Please introduce me what to do for this case and provide a sample.

After adding the top level object list I have lost the sub details as you can see below

If I understand correctly you want to display all appointments of a user in the day column, is that correct?
Have you tried to insert the column as “TableInTable” (see picture)?

Hello Erdal,
Thank you for your answer.
You understand correct. I tried it. But it did not work for me. Because I cannot see sub list detail. Can you create a sample for your solution.
I also wrote my data structure. Have you looked at it?
I am waiting for your answer asap.

Best regards

Hi Hasan,
At this point we would recommend opening a support case, where you can provide us with an example based on your data structure, we can then analyze it and adapt it if necessary.

Hi Erdal,
We have already requested support case.
Can you check it please?
I am waiting for your answer.

© combit GmbH