3

Ich habe ein Textfeld in der Fußzeile meines Berichts, das eine Spalte mit bis zu 5000 Zeichen aufnehmen kann, aber die TextBox in der Fußzeile kann aufgrund ihrer Größe nicht 5000 Zeichen enthalten . In meinen Tests hat die TextBox eine Anzahl von Zeichen zwischen 1000 ('M'-Buchstaben) und 1800 (Punkten) angezeigt.Überlauf im Fußzeilenfeld auf einer neuen Seite anzeigen

Ich möchte eine neue Seite erstellt werden, wenn dieses Feld überläuft, und ich möchte den überflogenen Teil in der Fußzeile der folgenden Seiten angezeigt werden, so dass die Spalte den richtigen Platz, aufgeteilt in zwei oder mehr Seiten.

Zusammenfassen: Anstatt den Anfang meines übergroßen Feldes in meinem Footer-Textfeld jede andere Seite anzuzeigen, möchte ich den gesamten Inhalt des Feldes in der Fußzeile mehrerer Seiten anzeigen.

Hinweis: eine Anzahl von Zeichen definieren auf der ersten Seite angezeigt werden soll, und auf anderen Seiten den Rest Anzeige ist keine Option, weil wir nicht in der Nähe Präzision kommen kann, wenn es um Zeichen und Länge fest mit kommt Zahlen, weil jedes Zeichen eine andere Länge hat.

Hinweis2: Sind weitere Informationen erforderlich? Ich werde es gründlich beschreiben, wenn Sie fragen! Hinterlasse einen Kommentar

+0

Ist das wirklich nicht möglich? – Marcelo

+0

Haben Sie darüber nachgedacht, die Schriftart in der Fußzeile in eine Schriftart mit fester Breite zu ändern, damit Sie die Anzahl der zu verwendenden Zeichen festlegen können? –

+0

@RC_Cleland Dieser Bericht folgt tatsächlich einem Brazilan-Standard für ein Dokument über den Transport von Waren, und er hat eine Reihe von unterstützten Schriften :( – Marcelo

Antwort

0

GDI wird Ihnen einen Teil des Weges bekommen. Sie können den MeasureString von GDI verwenden, um eine Zeichenfolge für eine bestimmte Schriftart zu messen. Siehe hierzu MSDN link

Mit dem Wissen, wie groß Ihre Footer-Bereich ist, eine benutzerdefinierte WillStringFitInMyFooter-Funktion und tausend Prellungen von Ihrem Reporting-Tool Ich denke, dass Sie das lösen können.

+0

Es gibt ein Problem mit dieser Logik. Auch wenn ich bekomme, dass es zu einem neuen gehen muss Seite, ich werde nicht wissen, wo ich den Schnitt machen soll, weil ich nicht wissen kann, wo die Länge die Grenze der ersten Seite sowieso erreicht, außer es gibt eine Möglichkeit, die Länge der Saite durch SSRS herauszufinden Gibt es eine Möglichkeit, dies vollständig in SSRS zu tun? Danke! – Marcelo

+0

Nicht sicher über SSRS. Vielleicht jemand anderes wird wissen. Ich dachte etwas eher so: öffentliche string GetTheOverflow (string fullString, Schriftart fontToUse, SizeF sizeOfBox) { // Schleife (oder b-Baum durch) fragt "wird passen?" Auf Teilstrings, bis es fertig ist o r gibt nein zurück Alles darüber hinaus ist Überlauf. } –

+0

Oh, das macht Sinn ... aber ich würde es immer noch außerhalb von SSRS behandeln müssen, die Art von Lösung, die ich suche, ist vorzugsweise eine Änderung in der Berichtslösung .. aber danke! Das hat mir einige Ideen gegeben – Marcelo

Verwandte Themen