Laden...

Report Builder 3.0 / Leere Zeile in Tablix

Erstellt von Gailer vor 9 Jahren Letzter Beitrag vor 9 Jahren 2.249 Views
G
Gailer Themenstarter:in
3 Beiträge seit 2014
vor 9 Jahren
Report Builder 3.0 / Leere Zeile in Tablix

verwendetes Datenbanksystem: Microsoft SQL LocalDb

Hallo,

ich generiere für ein Rechnungsprogramm die Berichte mit dem Report Builder 3.0.

Ich stelle die Positionen von Angeboten, Rechnung usw... in einer Tabelle dar.

Nun möchte ich eine leere Position übergeben(z.B. Leerzeile). Dann soll bei der Tabelle der linke und rechte Rahmen und die Zwischenrahmen entfallen(das es aussieht wie eine leere Zeile). Die Tabelle soll danach mit den weiteren Positionen gefüllt werden.

Ich hab es bereits mit den "Sichtbarkeits-Funktionen" probiert aber das funktioniert nicht(z.B. Text Leerzeile übergeben und dann die Rahmen Farbe auf weiß gesetzt. Aber dann wird der ganze Rahmen weiß(auch oben und unten).

Ich hoffe das es verständlich ist und mir jemand helfen kann 😃

Danke schonmal im vorraus.

Mit freundlichen Grüßen
Alex

M
402 Beiträge seit 2005
vor 9 Jahren

Hi...

das ist dann ein RDL bzw. RDLC - Format nehm ich an...

Ich hab sowas ähnliches, nämlich 2 unterschiedliche Positions-Typen im Dokument. (Artikel / Freitext).

Ich hab die Zeile für jeden Typ erstellt und dann jede Zeile über die Sichtbarkeit ein bzw. ausgeblendet je nach Positionstyp.

Für die Freitext-Zeile wurden einfach alle Spalten zu einer zusammengeführt.

lg

G
Gailer Themenstarter:in
3 Beiträge seit 2014
vor 9 Jahren

Hallo,
danke schonmal für die Hilfe und ich bin auch schon einen Schritt weitergekommen.

for (int i = 0; i < angebotsvorschau.posgrid.Rows.Count; i++)
                {
                    L.Add(new leistungen() { Pos = angebotsvorschau.posgrid.Rows[i].Cells[0].Value.ToString(), Menge = angebotsvorschau.posgrid.Rows[i].Cells[1].Value.ToString(), Mengeneinheit = angebotsvorschau.posgrid.Rows[i].Cells[2].Value.ToString(), Text = angebotsvorschau.posgrid.Rows[i].Cells[3].Value.ToString(), Einzelpreis = angebotsvorschau.posgrid.Rows[i].Cells[4].Value.ToString(), Gesamtpreis = angebotsvorschau.posgrid.Rows[i].Cells[5].Value.ToString() });
                }

ReportDataSource rds_L = new ReportDataSource("Leistungen", L);


reportViewer1.LocalReport.DataSources.Add(rds_L);


So übergebe ich zum Beispiel 5 Positionen.

Was dabei rauskommt sieht man an den Bildern.

Ich habe im ReportBuilder unter den Leistungen eine Gruppe hinzugefügt und diese ist nur sichtbar wenn es ein Freitext ist. Ich frage mich jetzt nur warum diese Freitext unten angehängt werden.

Danke schonmal für die Hilfe.

Alex

W
955 Beiträge seit 2010
vor 9 Jahren

Hallo,

ich würde versuchen das mit Gruppen abbilden Auch wenn das dem Datenmodell nicht entspricht läßt sich dieses vllt einfacher im Report darstellen.
* jede einzelne Rechnungsposition bildet eine Gruppe, die nachfolgenden Freitexte unter dieser Gruppe sind die Detailsätze dieser Gruppe.
* Rechnungsposition denen kein Freitext folgt bekommen einen Leertext als Detailsatz.
* die Rechnungspositionen werden als Gruppenkpöpfe, Freitexte als Details dargestellt
* leere Freitexte werden unsiochtbar gemacht
* Irgendein Adapter oder Viewmodel wandelt das Datenmodelin das Reportviermodel um.