2 Stimmen

Ausblenden eines Berichtselements beim Druck/Export eines rdlc-Berichts

Ich habe ein RDLC mit mehreren Tabellen und für jede Tabelle habe ich ein Toggle TextBox Item, das die entsprechende Tabelle aus dem Bericht ausblendet. Das funktioniert perfekt, aber ich möchte nicht, dass diese Textfelder in den gedruckten/exportierten Berichten sichtbar sind. Sie sind eigentlich zum Deaktivieren von Inhalten im Bericht gedacht und nicht als Inhalt selbst. Gibt es eine Möglichkeit, diese Umschaltfelder nur im Drucklayout und in den exportierten Versionen des Berichts auszublenden?

Ich habe mir alle Eigenschaften des Berichtstextfelds und die verfügbaren Ausdrücke angesehen, mit denen ich die Sichtbarkeit umschalten kann, aber ich habe nichts gefunden, mit dem ich das Element ausblenden kann. Es gibt eine DataElementOutput-Eigenschaft, die zu sein scheint, was ich will, aber ich glaube, dass es nur für XML nützlich ist.

1voto

Hugo Punkte 36

Spät, aber es gibt eine Lösung. Sie können dem Bericht einen Parameter für die Sichtbarkeit des Handle Controls hinzufügen und im Print-Ereignis den Parameterwert ändern und dann den Bericht aktualisieren (ReportViewer1.RefreshReport())

1voto

Kolappan N Punkte 2727

Dies kann durch eine einfache Umschaltung der Sichtbarkeit erreicht werden. Sie können die Variable RenderFormat.IsInteractive verwenden, um festzustellen, ob ein Bericht in der Berichtsanzeige angezeigt oder exportiert wird. Eine MSDN-Artikel erklärt dies über diese globale Variable,

Außerdem bestimmt ein boolesches Flag (=Globals!RenderFormat.IsInteractive) bestimmt, ob eine Rendering-Erweiterung ein interaktiver Renderer ist, d.h. kein Exportformat. Vorschau (GDI/Winforms) und HTML-Anzeige werden als interaktive Renderer betrachtet.

Setzen Sie die Sichtbarkeit des Textfeldes, das Sie beim Export ausblenden möchten, auf den folgenden Ausdruck

=NOT(Globals!RenderFormat.IsInteractive)

Siehe das folgende Bild (mit freundlicher Genehmigung von blog.hoegaerden.be ), um die Werte zu erfahren, die RenderFormat.IsInteractive RenderFormat.IsInteractive

0voto

Perica Zivkovic Punkte 2530

Sie können einige Hacks anwenden, um dies zu erreichen: - den Text und die Umrandung der Textbox weiß einstellen, damit sie nicht sichtbar, aber dennoch anklickbar sind - Vergrößern Sie den Bericht über die Druckgröße hinaus (Papiergröße) und verschieben Sie die Textfelder aus dem Druckbereich heraus (sie werden gedruckt/exportiert, aber nicht auf derselben Seite wie Ihre Tabellen) - die Textfelder oben anordnen und so gestalten, dass sie wie Registerkarten aussehen, die verschiedene Ansichten ermöglichen (ich weiß, ich weiß, das ist nicht das, was Sie wollten :-) )

Am besten lösen Sie dieses Problem, indem Sie Ihren Bericht in mehrere Berichte aufteilen - für jede Tabelle einen Bericht.

Ich hoffe, das hilft!

Prost,

Pero

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X