首页 > 系统相关 >DevExpress中文教程 - 如何在macOS和Linux (CTP)上创建、修改报表(下)

DevExpress中文教程 - 如何在macOS和Linux (CTP)上创建、修改报表(下)

时间:2023-11-24 10:11:05浏览次数:57  
标签:macOS Code CTP 报表 DevExpress 应用程序 Studio 数据源

DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。

DevExpress Reports — 跨平台报表组件,允许用户在针对任何基于.NET平台的应用程序中生成报表文档,可部署在任何支持的操作系统上。在过去的几个月里,官方技术团队一直专注于增强多个环境中的报表生成进程,同时保持与主机操作系统本身的独立性。在我们深入研究细节之前,先简单介绍一下Visual Studio Code,以及为什么选择它而不是其他可用的替代品。

获取DevExpress Reporting v23.1正式版下载

DevExpress技术交流群9:909157416      欢迎一起进群讨论

在上文中(点击这里回顾>>),我们为大家介绍了DevExpress Visual Studio Code报表设计器扩展、基于VS Code扩展的技术以及一些前期配置等。本文将继续介绍如何创建一个新的DevExpress报表,欢迎持续关注我们哦~

创建一个新的DevExpress报表

此时我们准备向示例项目中添加一个新报表,扩展增加一个新的DX Reporting: New Report命令到Visual Studio代码中,只需再次按F1来使用该命令并指定新的报表名称。

DevExpress报表中文教程指南

VS Code将自动打开新创建的报表,并以空白报表呈现DevExpress报表设计器:

DevExpress报表中文教程指南

在此阶段,我们可以向该报表添加数据源,并使用内置的报表向导对其进行设计。我们将选择右侧的数据源选项卡,然后点击"Add Data Source"按钮调用数据源向导:

DevExpress报表中文教程指南

出于本示例的目的,我们将使用之前在reporting.config.file中设置的示例 "Dummy 100 Users"JSON数据源,选择可用的数据源,点击“Finish”完成操作:

DevExpress报表中文教程指南

接下来,我们将导航到报表设计器主菜单,并在报表向导中选择Design in Report Wizard...来启动报表向导:

DevExpress报表中文教程指南

我们将按照向导提示完成报表生成过程,如果您遵循这篇文章,请确保使用“Save”快捷键保存报表模板文件(在macOS中是Command+ S)。当您这样做时,可以在屏幕上看到以下内容:

DevExpress报表中文教程指南

要查看结果,只需要按下"Preview" 按钮,您可以从内置的打印预览窗口打印和导出报表文档:

DevExpress报表中文教程指南
运行示例应用程序

在这个阶段,我们必须修改一些项目代码文件,以便在运行时将这个报表布局加载到XtraReport类中。首先我们必须移动 "newReport. repx" 文件到PredefinedReports目录中,完成后我们需要进行以下更改:

HomeController.cs -> Viewer method

将在文档查看器中打开的报表名称更改为newReport:

public IActionResult Viewer([FromServices] IWebDocumentViewerClientSideModelGenerator clientSideModelGenerator,
[FromQuery] string reportName) {

var reportToOpen = string.IsNullOrEmpty(reportName) ? "newReport" : reportName;
var model = new Models.ViewerModel {
ViewerModelToBind = clientSideModelGenerator.GetModel(reportToOpen, WebDocumentViewerController.DefaultUri)
};
return View(model);
}

ReportsFactory.cs

替换如下代码,从PredefinedReports目录加载报表模板:

public static class ReportsFactory
{
public static string ReportsPath { get; set; }
public static Dictionary<string, Func<XtraReport>> Reports = new Dictionary<string, Func<XtraReport>>()
{
["TestReport"] = () => new TestReport(),
["newReport"] = () => XtraReport.FromFile(Path.Combine(ReportsPath + "/PredefinedReports/newReport.repx"))
};

}

Startup.cs

修改类构造函数来将IWebEnvironment.ContnetRootPath变量传递到ReportsFactory类:

public Startup(IConfiguration configuration, IWebHostEnvironment environment) {
Configuration = configuration;
ReportsFactory.ReportsPath = environment.ContentRootPath;
AppDomain.CurrentDomain.SetData("DataDirectory", environment.ContentRootPath);
}

ReportDbContext.cs -> InitializeDatabase method

将JSON数据源添加到应用程序注册的数据源集合中:

...
var Dummy100UsersConnectionName = "Dummy 100 Users";
if(!JsonDataConnections.Any(x => x.Name == Dummy100UsersConnectionName)) {
var newData = new JsonDataConnectionDescription {
Name = Dummy100UsersConnectionName,
DisplayName = "Dummy 100 Users",
ConnectionString = "Uri=https://dummyjson.com/users/"
};
JsonDataConnections.Add(newData);
}
...

最后,我们需要确保在每次构建应用程序时将报表模板文件复制到应用程序输出目录中。要实现这一点,我们需要再"*. csproj"文件中添加以下内容:

<ItemGroup>
<None Remove="PredefinedReports\*.repx" />
</ItemGroup>
<ItemGroup>
<Content Include="PredefinedReports\newReport.repx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>

通过这些修改,我们可以切换到VS Code中的终端窗口并运行Docker容器:

export DX_NUGET=https://nuget.devexpress.com/Your_API_Token/api
DOCKER_BUILDKIT=1 docker build -t reporting-app --secret id=dxnuget,env=DX_NUGET .
docker run -p 8080:80 reporting-app:latest

应用程序页面可通过以下URL访问:http://localhost:8080/,点击顶部的 "Document Viewer"链接显示刚刚在Visual Studio Code中创建的报表打印预览。

DevExpress报表中文教程指南

更多DevExpress线上公开课、中文教程资讯请上中文网获取

 

标签:macOS,Code,CTP,报表,DevExpress,应用程序,Studio,数据源
From: https://www.cnblogs.com/AABBbaby/p/17853108.html

相关文章

  • 在macOS上设置和取消Git代理
    在macOS上设置和取消Git代理设置Git代理可以使用以下步骤在macOS上设置Git代理:设置HTTP代理:要设置HTTP代理,请在终端中运行以下命令:gitconfig--globalhttp.proxyhttp://proxy_username:proxy_password@proxy_ip:proxy_port请将proxy_username,proxy_pas......
  • 界面组件DevExpress Reporting v23.1 - Web报表设计器功能升级
    DevExpressReporting是.NETFramework下功能完善的报表平台,它附带了易于使用的VisualStudio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表界面组件DevExpressReportingv23.1已经发布一段时间了,新版本增强了Web报表设计器的自定义......
  • MacOS 端口映射
    macbook下,要绑定80端口的话。一种方式是用root权限启动,即sudo启动服务进程。但sudo指令存在一定的安全问题,能不使用的情况下我们都尽量不要使用。所以这里给出另外一种解决方法端口映射在 /etc/pf.anchors/ 目录下创建一份 xxx.forwarding (xxx可以自定义)$s......
  • macOS安装安卓模拟器和apk包
    背景公司项目有个POS收银系统,是安卓版的,提供的是apk包,而办公电脑是mac,需要安装使用 解决方法安装安卓模拟器模拟器下载地址:https://www.aliyundrive.com/s/NZet5jrKxV4下载完成后,将.mp4后缀改为.dmg。然后如下图方式安装。  遇到问题解决办法Couldnotautomati......
  • 界面控件DevExpress WPF流程图组件,完美复制Visio UI!(一)
    DevExpressWPFDiagram(流程图)控件帮助用户完美复制MicrosoftVisioUI,并将信息丰富且组织良好的图表、流程图和组织图轻松合并到您的下一个WPF项目中。P.S:DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着......
  • DevExpress中文教程 - 如何在macOS和Linux (CTP)上创建、修改报表(上)
    DevExpressReporting是.NETFramework下功能完善的报表平台,它附带了易于使用的VisualStudio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。DevExpressReports—跨平台报表组件,允许用户在针对任何基于.NET平台的应用程序中生成......
  • 界面组件DevExpress Reporting v23.1亮点 - 全新升级报表查看器
    DevExpressReporting是.NETFramework下功能完善的报表平台,它附带了易于使用的VisualStudio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表界面组件DevExpressReportingv23.1已经发布一段时间了,新版本在报表查看器中拥有新的缩放......
  • macos:查看文件的完整路径(12.7)
    一,第一种方法:打开终端,把文件拖动到终端,即可以看到完整的路径:二,第二种方法:用快捷键复制路径:打开窗口后同时按下:option+command+c然后在可输入的软件中粘贴即可:说明:刘宏缔的架构森林—专注it技术的博客,网站:https://blog.imgtouch.com原文: https://blog.imgtouch.......
  • python:第八章:macos为python配置环境变量(3.12.0)
    一,查看老版本的python信息:1,启动终端,查看旧的python的版本liuhongdi@192~%python--version Python3.9.12,查看旧的pytnon的安装路径 liuhongdi@192~%whichpython python:aliasedto/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9二......
  • python:第七章:macos安装python(3.12.0)
    一,下载python点击Downloads->macOS:点击安装包链接下载:二,安装双击下载的安装包,进入安装界面,点继续按钮,如图:一步一步点击继续,此处点击同意按钮:此处点击安装按钮:安装完成后点击关闭按钮即可,如图:说明:刘宏缔的架构森林—专注it技术的博客,网站:https://blo......