Como modificar a largura de uma tab no RichObject

2021-09-05

Alguns usuários preferem criar tabelas ajustando a largura da guia ou desejam criar uma tabela em um formato que não os suporta.

Nas versões anteriores do FastReport .NET, o RichObject oferecia a função de modificar a largura de uma guia em uma linha, mas todos os tamanhos após a primeira guia eram iguais. Isso foi corrigido na versão atual e agora você pode definir o tamanho de cada caractere de tabulação.

A nova propriedade para TextObject TabPositions permite que você defina a largura de uma guia. É usado ao converter RichObject. Agora você pode controlar a largura dos caracteres de tabulação de duas maneiras:

– definir a partir do código a largura dos caracteres de tabulação individuais para cada linha do TextObject;
– carregando o documento finalizado em RichObject.

A função para editar esta propriedade no designer está temporariamente indisponível. Se houver mais caracteres de tabulação do que larguras, o tamanho da tabulação será normal, e se houver mais valores do que tabulações, os valores excedentes de largura não serão aplicados.

Um exemplo de um texto com diferentes larguras de tabulação

Documento RTF original:

Ajustar a largura da tabulação na palavra

Como era na versão anterior:

Janelas de páginas diferentes na janela de antevisão anterior

Na versão atual:

Janelas de páginas diferentes na janela de antevisão desta versão

Customização da largura da guia a partir do código:

 //criar uma instância de relatório de classes
 Report report = new Report();
 //criar uma página de relatório
 ReportPage pageBase = new ReportPage();
 //criar uma banda de dados
 DataBand dataBand = new DataBand();
 //criar um objecto de texto
 TextObject textObject = new TextObject();
 //mudar o valor do texto
 textObject.Text = "1\t2\t3\t4";
 //definir a largura de cada página de símbolos em centímetros
 textObject.TabPositions = new FloatCollection() { Units.Centimeters * 2.5f, Units.Centimeters * 3.5f, Units.Centimeters * 5 };
 //adicionar o objecto de texto à banda de dados
 textObject.Parent = dataBand;
 //definir o nome gerado
 textObject.CreateUniqueName();
 //definir os limites do objecto de texto
 textObject.Bounds = new RectangleF(0, 0, Units.Centimeters * 15, Units.Centimeters * 0.5F);
 //criar mais um objecto de texto
 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);
 //criar mais um objecto de texto
 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);
 //adicionar a banda à colecção de bandas
 pageBase.Bands.Add(dataBand);
 //adicionar uma página criada para comunicar a colecção de páginas
 report.Pages.Add(pageBase);
 //mostrar o relatório
 report.Show();

Assim, você pode transformar RichObject e TextObject em uma alternativa ao objeto Tabela com a ajuda de novas melhorias.

.NET .NET FastReport FastReport RTF RTF
26 de abril de 2023

How to use RFID tags in FastReport .NET

The new page object is an RFID tag in FastReport.NET allows users to use the library to create labels or maps without third-party programs
20 de abril de 2023

How to update FastReport Online Designer to the latest version

Step-by-step instructions for updating FastReport Online Designer to the latest version via the client panel.
14 de março de 2023

The Future of Report Generation with Blazor WebAssembly

Step-by-step instructions for creating a demo application on .NET 6 and 7 directly in the browser using Blazor WebAssembly in FastReport .NET.
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.