Wie man mit der Tab-Breite in RichObject manipuliert

Einige Benutzer bevorzugen es, Tabellen zu erstellen, indem sie die Tab-Breite anpassen, oder sie müssen eine Tabelle in einem Format erstellen, das sie nicht unterstützt.

In früheren Versionen von FastReport .NET hatte RichObject die Möglichkeit, die Tab-Breite in einer Zeile zu steuern, aber alle Größen nach dem ersten Tabulieren waren gleich. In der aktuellen Version wurde dies behoben und es ist nun möglich, die Größe für jedes Tabulatorzeichen einzustellen.

Eine neue Eigenschaft für das Textobjekt ermöglicht TabPositions Ihnen, die Tab-Breite festzulegen. Sie wird bei der Konvertierung eines RichObjects verwendet. Sie können die Breite von Tabulatorzeichen jetzt auf zwei Arten steuern:

– über den Code, indem die Breite der einzelnen Tabulatorzeichen für jede TextObject-Zeile festgelegt wird;
– durch Laden des fertigen Dokuments in RichObject.

Diese Eigenschaft kann im Designer vorübergehend nicht bearbeitet werden. Wenn es mehr Tabulatorzeichen als Breitenwerte gibt, wird die Tabulatorgröße normal sein, und wenn es mehr Werte als Tabulatorzeichen gibt, werden die überschüssigen Breitenwerte nicht angewendet.

Textbeispiel mit unterschiedlichen Tab-Breiten

Original-RTF-Dokument:

Einstellen der Tab-Breite in Word

So sah es in der letzten Version aus:

Unterschiedliche Tab-Breite im Vorschaufenster der Vorgängerversion

In der aktuellen Version:

Unterschiedliche Tab-Breite im Vorschaufenster dieser Version

Steuerung der Tab-Breite über den Code:

 //create instance of class Report
 Report report = new Report();
 //create report page
 ReportPage pageBase = new ReportPage();
 //create data band
 DataBand dataBand = new DataBand();
 //create text object
 TextObject textObject = new TextObject();
 //set the text value
 textObject.Text = "1\t2\t3\t4";
 //set width for every symbol tab in centimeters
 textObject.TabPositions = new FloatCollection() { Units.Centimeters * 2.5f, Units.Centimeters * 3.5f, Units.Centimeters * 5 };
 //add the text object to data band
 textObject.Parent = dataBand;
 //set generated name
 textObject.CreateUniqueName();
 //set the text object bounds
 textObject.Bounds = new RectangleF(0, 0, Units.Centimeters * 15, Units.Centimeters * 0.5F);
 //create one more text object
 TextObject textObject2 = new TextObject();
 textObject2.Text = "5\t6\t7\t8";
 textObject2.TabPositions = new FloatCollection() { Units.Centimeters * 2.5f, Units.Centimeters * 3.5f, Units.Centimeters * 5 };
 textObject2.Parent = dataBand;
 textObject2.CreateUniqueName();
 textObject2.Bounds = new RectangleF(0, Units.Centimeters * 1, Units.Centimeters * 15, Units.Centimeters * 0.5F);
 //create one more text object
 TextObject textObject3 = new TextObject();
 textObject3.Text = "9\t10\t11\t12";
 textObject3.TabPositions = new FloatCollection() { Units.Centimeters * 2.5f, Units.Centimeters * 3.5f, Units.Centimeters * 5 };
 textObject3.Parent = dataBand;
 textObject3.CreateUniqueName();
 textObject3.Bounds = new RectangleF(0, Units.Centimeters * 2, Units.Centimeters * 15, Units.Centimeters * 0.5F);
 //add the band to band collection
 pageBase.Bands.Add(dataBand);
 //add created page to report page collection
 report.Pages.Add(pageBase);
 //show report
 report.Show();

Mit den neuen Erweiterungen können Sie also RichObject und TextObject in eine Alternative zum Table-Objekt verwandeln.

Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314

© 1998-2024 Fast Reports Inc.
Trustpilot