FastReport中国社区FastReport联系电话 联系电话:023-68661681

如何在 RichObject 中修改选项卡的宽度

来源:   发布时间:2021-09-08   浏览:次

报表生成器FastReport .NET是适用于.NET Core 3,ASP.NET,MVC和Windows窗体的全功能报告库。使用FastReport .NET,您可以创建独立于应用程序的.NET报告。 点击下载最新版FastReport .Net

一些用户更喜欢通过调整选项卡宽度来创建表格,或者他们想要以不支持它们的格式创建表格。

在以前的 FastReport .NET 版本中,RichObject 提供了修改一行中一个选项卡宽度的功能,但它们在第一个选项卡之后的所有大小都是相同的。这已在当前版本中修复,现在您可以设置每个制表符的大小。

TextObject TabPositions 的新属性允许您设置选项卡的宽度。它在转换 RichObject 时使用。现在您可以通过两种方式控制制表符的宽度:

  • 从代码中为 TextObject 的每一行设置单个制表符的宽度;
  • 通过将完成的文档上传到 RichObject。

在设计器中编辑该属性的功能暂时不可用。如果制表符比宽度多,则制表符大小将是正常的,如果值比制表符多,则不会应用宽度超出的值。

具有不同制表符宽度的文本示例

原始 RTF 文件:

报告生成器FastReport .NET功能指南:如何在 RichObject 中修改选项卡的宽度

它在以前的版本中的样子:

报告生成器FastReport .NET功能指南:如何在 RichObject 中修改选项卡的宽度

在当前版本中:

报告生成器FastReport .NET功能指南:如何在 RichObject 中修改选项卡的宽度

从代码自定义标签宽度:

 //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();

因此,您可以借助新的改进将 RichObject 和 TextObject 变成 Table 对象的替代品。


Fastreport.NET在线购买价更低!赶紧加入购物清单吧!

如果您有任何疑问或需求,请随时加入FastReport技术交流群(702295239),我们很高兴为您提供查询和咨询。

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/3196.html

联系我们
  • 重庆总部 023-68661681
购买
  • sales@evget.com
合作
  • business@evget.com


扫码咨询
电话咨询
023-68661681
返回
顶部