翻譯|使用教程|編輯:楊鵬連|2021-04-06 09:46:09.427|閱讀 341 次
概述:下面我們描述基于Blazor Server技術的簡單Web應用程序的創建。您可以在GitHub的我的個人資料中下載此演示項目。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
FastReport .Net是適用于Windows Forms,ASP.NET,MVC和.NET Core的全功能解決方案。它可以在Microsoft Visual Studio 2005-2019中使用。支持.Net Framework 2.0-4.x,.NET Core 3.0及以上版本。
在FastReport .NET 2021.1的新版本中,我們實現了對.NET 5的支持。添加了新條形碼-Deutsce Post Leitcode。將RTF轉換為報告對象的算法已得到顯著改進。并且還添加了用于轉換數字的新功能。歡迎下載體驗。(點擊下方按鈕下載)
立即點擊下載FastReport.NET v2021.1最新版
Fastreport.NET在線購買價更低,專享85折起!趕緊加入購物清單吧!
微軟最近啟動了一個名為Blazor的Web平臺。該框架允許使用C#語言以及HTML和CSS創建交互式Web界面。Blazor的需求量很高,并且在許多.NET開發人員中迅速流行。我們已經啟動了FastReport.Web.Blazor軟件包,其中包含用于在基于技術的Web應用程序中處理報表的組件。該軟件包現在處于測試版狀態,并將逐步開發。
下面我們描述基于Blazor Server技術的簡單Web應用程序的創建。您可以下載此演示項目。
首先,我們創建新項目。我們將使用適用于Blazor Server的模板。您可以使用Visual Studio(適用于Windows和macOS)或.NET CLI創建項目。在這兩種情況下,我們都需要.NET Core SDK(.NET SDK)3.1版或更高版本,可以從官方網站下載。
Visual Studio 2019:
對于.NET CLI,我們在控制臺(終端)中鍵入以下命令:
dotnet new blazorserver我們看到以下項目結構:
為了簡化項目,我們從創建的模板中刪除一些不必要的文件:
- the whole Data folder我們將一個名為“ Reports”的新文件夾添加到我們的項目文件夾中,并將所有必要的報告放入其中。為了演示,我添加了一些簡單的報表,這些報表在安裝FastReport降級版本時會應用:簡單列表,復雜(主-細節+組),子報表,條形碼和圖表。另外,對于這些報告,我們需要xml-nwind.xml格式的數據庫;我們將其放在同一文件夾中。
另外,有必要將Reports文件夾的內容復制到輸出文件夾中。為此,我們在Visual Studio中選擇相關文件,然后在“屬性”中選擇“如果更新則復制”。
如果沒有Visual Studio,則可以在項目文件(.csproj)中手動指示此屬性:
<ItemGroup> <None Update="Reports\*.*"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup>然后,我們必須將FastReport.Core和FastReport.Web.Blazor包添加到我們的項目中。也可以通過Visual Studio或.NET CLI來完成。讓我們考慮這兩種變體。
要將包添加到Visual Studio,請在我們的項目文件(csproj)上單擊鼠標右鍵。上下文菜單打開;選擇“管理NuGet軟件包”。搜索兩個必需的程序包。請注意,勾選“包括預發行版本”必須處于活動狀態。
要通過.NET CLI添加軟件包,請鍵入以下命令:
dotnet add package FastReport.Core --prerelease dotnet add package FastReport.Web.Blazor --prerelease然后,我們應該將FastReport.Core和FastReport.Web.Blazor使用的命名空間添加到用于Razor的文件命名空間列表中。為此,通過添加幾行來編輯_Imports.razor文件:
@using FastReport @using FastReport.Web.Blazor @using FastReport.Web.Blazor.Components在我們的應用程序配置中注冊FastReport。為此,請打開Startup.cs文件,并在Configure方法的末尾添加以下行:
app.UseFastReport();在Pages \ _Host.cshtml文件中,將第一行替換為以下內容:
@page "/{ReportName}"為了使URL能夠包含我們要打開的報告的名稱,這是必需的。
然后,我們編輯導航菜單Shared \ NavMenu.razor以映射Reports文件夾中的所有可用報告,并在它們之間進行切換。
@using System.IO
<div class="top-row pl-4 navbar navbar-dark">
<a class="navbar-brand" href="">DemoBlazor</a>
</div>
<div>
<ul class="nav flex-column">
@foreach (string report in reports)
{
<li class="nav-item px-2">
<NavLink class="nav-link" href="@report">
@Path.GetFileNameWithoutExtension(report)
</NavLink>
</li>
}
</ul>
</div>
@code {
// List of reports in folder
private string[] reports =
Directory.GetFiles(
Path.Combine(
Directory.GetCurrentDirectory(), "Reports"))
.Where((filename) => Path.GetExtension(filename) == ".frx")
.Select((filename) => Path.GetFileName(filename))
.ToArray();
}
現在我們進入主要階段。編輯Pages \ Index.razor文件以使用FastReport.Web.Blazor庫的主要組件WebReportContainer映射報表。輸入以下內容:
@page "/"
@page "/{ReportName}"
<WebReportContainer WebReport="@MyWebReport" />
@code {
[Parameter]
public string ReportName { get; set; }
public WebReport MyWebReport { get; set; }
}
我們添加了WebReportContainer組件,并為其賦予了一個屬性-WebReport類的對象。
讓我們創建另一個具有類似名稱的文件– Pages \ Index.razor文件旁邊的Index.razor.cs并在其中寫入一個簡單的邏輯:
using System.IO;
using System.Data;
using FastReport;
using FastReport.Web.Blazor;
namespace DemoBlazor.Pages
{
public partial class Index
{
const string DEFAULT_REPORT = "Simple List.frx";
readonly string directory;
DataSet DataSet { get; }
protected override void OnParametersSet()
{
base.OnParametersSet();
var report = Report.FromFile(
Path.Combine(
directory,
string.IsNullOrEmpty(ReportName) ? DEFAULT_REPORT : ReportName));
// Registers the user dataset
report.RegisterData(DataSet, "NorthWind");
// Create new WebReport object
MyWebReport = new WebReport
{
Report = report,
};
}
public Index()
{
directory = Path.Combine(
Directory.GetCurrentDirectory(),
Path.Combine("Reports"));
DataSet = new DataSet();
DataSet.ReadXml(Path.Combine(directory, "nwind.xml"));
}
}
}
該邏輯負責注冊數據,創建WebReport對象,為其分配必要的參數,包括我們從常量行中的報告名稱下載或默認使用的,由常量DEFAULT_REPORT定義的報告。
在對樣式和格式進行了其余的少量操作之后,我們得到了一個Web應用程序,該應用程序可以處理報告,并提供了創建各種格式(PDF,Excel,Word和Open Office)文檔的機會。
相關鏈接:
-文檔(en):https : //www.fast-report.com/download/docs/FRNet/FastReport.Web.Blazor_manual_ (en) .pdf還想要更多嗎?您可以點擊閱讀【FastReport 報表2020最新資源盤點】,查找需要的教程資源。讓人興奮的是FastReport .NET正在慧都網火熱銷售中!低至3701元起!>>查看價格詳情
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: