FastReport使用交流,FastReport中国社区FastReport联系电话 联系电话:17347785263

FastReport.Web for Core 中的工具栏自定义和导出设置

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

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

用户经常需要更改工具栏的外观或自定义导出菜单,但并不是每个人都知道如何做到这一点。假设我们已经有一个完成的项目。例如,我们可以使用来自 FastReport .NET 演示应用程序的任何报告。

让我们为工具栏添加一些颜色。我们需要编写一段代码来负责定制:

ToolbarSettings toolbar = new ToolbarSettings()
{
 Color = Color.Red,
 DropDownMenuColor = Color.IndianRed,
 IconColor = IconColors.Left,
 Position = Positions.Left,
 IconTransparency = IconTransparencyEnum.Low,
};
webReport.Toolbar = toolbar;

现在让我们运行我们的应用程序,看看结果

FastReport.Web for Core 中的工具栏自定义和导出设置

让我们更详细地看看FastReport Web for Core中工具栏的定制是如何进行的。

所有的自定义参数都被存储为一个属性集合。有几个选项可以让你实现对工具栏外观的改变,但它们都归结为添加或改变参数。

让我们从代码中考虑外观定制,在这里你可以看到一个集合和属性的列表。下面是其中的一些。

  • Color - 改变工具栏的背景颜色。
  • DropDownMenuColor - 设置下拉菜单的背景颜色。
  • DropDownMenuTextColor - 设置下拉菜单的文本颜色。
  • Position - 改变工具条在报告中的位置。
  • Roundness - 为工具条添加圆度。
  • ContentPosition - 改变内容的位置。
  • IconColor - 改变图标的颜色。
  • IconTransparency - 调整图标的透明度。
  • FontSettings - 微调文本样式。

让我们假设我们想改变下拉菜单的颜色,并在其中显示各种出口选项。

要改变下拉菜单的外观,你只需要在工具栏中写一些修改。但是要显示所有的导出数据选项,你需要添加下面这段代码。

ToolbarSettings toolbar = new ToolbarSettings()
 {
 Color = Color.Red,
 DropDownMenuColor = Color.Red,
 DropDownMenuTextColor = Color.White,
 IconColor = IconColors.White,
 Position = Positions.Right,
 FontSettings = new Font("Arial", 14, FontStyle.Bold),
 Exports = new ExportMenuSettings()
 {
 ExportTypes = Exports.All
 }
 };
 model.WebReport.Toolbar = toolbar;

如果我们运行我们的项目,我们会看到下拉菜单已经改变,导出数据的选项明显增加。

FastReport.Web for Core 中的工具栏自定义和导出设置

现在我们看到一个带有导出格式的自定义菜单。

但如果我们只需要某些格式呢?例如,我们只需要PDF,XPS,和CSV。让我们来实现它吧!

我们需要稍微改变容器中的导出设置。

Exports = new ExportMenuSettings()
{
 ExportTypes = Exports.Pdf | Exports.Xps | Exports.Csv
}

让我们运行我们的应用程序,看看结果。

FastReport.Web for Core 中的工具栏自定义和导出设置

如果只显示这些导出选项,那么你就做对了一切。

所以,我们已经描述了如何在FastReport Web for Core中自定义工具栏和编辑带有导出选项的下拉菜单。除了这些例子之外,你还可以将讨论的参数与其他参数结合起来使用。

在Blazor中定制对象的外观

我们还需要提到Blazor,它包括普通版本的所有功能,但有更高级的功能。

我们将使用下面文章中的项目。Blazor中的报告和PDF文档。

让我们来定制工具栏的外观。

转到Pages/Index.razor.cs文件。在这里,我们将自定义工具栏,并添加负责在Blazor中进行自定义的部分代码。

 var toolbar = new ToolbarSettings
{
 FontSettings = new Font("Verdana,Arial sans-serif", 15),
 Color = Color.Red,
 DropDownMenuColor = Color.Red,
 DropDownMenuTextColor = Color.White,
 IconColor = IconColors.White,
 Position = Positions.Bottom,
 ContentPosition = ContentPositions.Center,
}; 
FastReport.Web for Core 中的工具栏自定义和导出设置

想象一下,除了简单的定制之外,我们还需要增加导出到PS、HPGL、JSON和PDF。

让我们添加以下代码来实现这一点。

Exports = new ExportMenuSettings()
{
 ExportTypes = Exports.PS | Exports.Hpgl | Exports.Json | Exports.Pdf 
}

因此,我们将得到我们需要的出口设置。

FastReport.Web for Core 中的工具栏自定义和导出设置

目前,Index.razor和Index.razor.cs文件看起来像这样。

@page "/"
@page "/{ReportName}"
@inject NavigationManager NavManager
 
<WebReportContainer WebReport="@UserWebReport" >
 
@code {
 [Parameter]
 public string ReportName { get; set; }
 
 protected override void OnParametersSet()
 {
 base.OnParametersSet();
 
 Load();
 }
}
using System;
using System.Drawing;
using System.IO;
using FastReport;
using FastReport.Web;
using System.Data;
 
namespace Blazor.UserDebugApp.Pages
{
 public partial class Index
 {
 private readonly string directory;
 
 private const string DEFAULT_REPORT = "Simple List.frx";
 
 public WebReport UserWebReport { get; set; }
 
 Report Report { get; set; }
 DataSet DataSet { get; }
 ToolbarSettings Toolbar { get; }
 
 public Index()
 {
 directory = Path.Combine(
 Directory.GetCurrentDirectory(),
 Path.Combine("..", "Demos", "Reports"));
 
 DataSet = new DataSet();
 DataSet.ReadXml(Path.Combine(directory, "nwind.xml"));
 
 Toolbar = new ToolbarSettings
 {
 FontSettings = new Font("Verdana,Arial sans-serif", 15),
 Color = Color.Red,
 DropDownMenuColor = Color.Red,
 DropDownMenuTextColor = Color.White,
 IconColor = IconColors.White,
 Position = Positions.Bottom,
 ContentPosition = ContentPositions.Center,
 Exports = new ExportMenuSettings()
 {
 ExportTypes=Exports.PS|Exports.Hpgl|Exports.Json|Exports.Pdf
 }
 };
 }
 
 private void Load()
 {
 Report = Report.FromFile(
 Path.Combine(
 directory,
 string.IsNullOrEmpty(ReportName) ? DEFAULT_REPORT : ReportName));
 
 Report.RegisterData(DataSet, "NorthWind");
 
 UserWebReport = new WebReport();
 UserWebReport.Report = Report; 
 UserWebReport.Toolbar = Toolbar;
 }
 }
}

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

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

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

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


在线
客服
在线
QQ
电话
咨询
023-68661681
返回
顶部