翻譯|使用教程|編輯:楊鵬連|2021-04-06 09:46:09.427|閱讀 342 次
概述:下面我們描述基于Blazor Server技術(shù)的簡(jiǎn)單Web應(yīng)用程序的創(chuàng)建。您可以在GitHub的我的個(gè)人資料中下載此演示項(xiàng)目。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
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的新版本中,我們實(shí)現(xiàn)了對(duì).NET 5的支持。添加了新條形碼-Deutsce Post Leitcode。將RTF轉(zhuǎn)換為報(bào)告對(duì)象的算法已得到顯著改進(jìn)。并且還添加了用于轉(zhuǎn)換數(shù)字的新功能。歡迎下載體驗(yàn)。(點(diǎn)擊下方按鈕下載)
立即點(diǎn)擊下載FastReport.NET v2021.1最新版
Fastreport.NET在線購(gòu)買(mǎi)價(jià)更低,專(zhuān)享85折起!趕緊加入購(gòu)物清單吧!
微軟最近啟動(dòng)了一個(gè)名為Blazor的Web平臺(tái)。該框架允許使用C#語(yǔ)言以及HTML和CSS創(chuàng)建交互式Web界面。Blazor的需求量很高,并且在許多.NET開(kāi)發(fā)人員中迅速流行。我們已經(jīng)啟動(dòng)了FastReport.Web.Blazor軟件包,其中包含用于在基于技術(shù)的Web應(yīng)用程序中處理報(bào)表的組件。該軟件包現(xiàn)在處于測(cè)試版狀態(tài),并將逐步開(kāi)發(fā)。
下面我們描述基于Blazor Server技術(shù)的簡(jiǎn)單Web應(yīng)用程序的創(chuàng)建。您可以下載此演示項(xiàng)目。
首先,我們創(chuàng)建新項(xiàng)目。我們將使用適用于Blazor Server的模板。您可以使用Visual Studio(適用于Windows和macOS)或.NET CLI創(chuàng)建項(xiàng)目。在這兩種情況下,我們都需要.NET Core SDK(.NET SDK)3.1版或更高版本,可以從官方網(wǎng)站下載。
Visual Studio 2019:
對(duì)于.NET CLI,我們?cè)诳刂婆_(tái)(終端)中鍵入以下命令:
dotnet new blazorserver我們看到以下項(xiàng)目結(jié)構(gòu):
為了簡(jiǎn)化項(xiàng)目,我們從創(chuàng)建的模板中刪除一些不必要的文件:
- the whole Data folder我們將一個(gè)名為“ Reports”的新文件夾添加到我們的項(xiàng)目文件夾中,并將所有必要的報(bào)告放入其中。為了演示,我添加了一些簡(jiǎn)單的報(bào)表,這些報(bào)表在安裝FastReport降級(jí)版本時(shí)會(huì)應(yīng)用:簡(jiǎn)單列表,復(fù)雜(主-細(xì)節(jié)+組),子報(bào)表,條形碼和圖表。另外,對(duì)于這些報(bào)告,我們需要xml-nwind.xml格式的數(shù)據(jù)庫(kù);我們將其放在同一文件夾中。
另外,有必要將Reports文件夾的內(nèi)容復(fù)制到輸出文件夾中。為此,我們?cè)赩isual Studio中選擇相關(guān)文件,然后在“屬性”中選擇“如果更新則復(fù)制”。
如果沒(méi)有Visual Studio,則可以在項(xiàng)目文件(.csproj)中手動(dòng)指示此屬性:
<ItemGroup> <None Update="Reports\*.*"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup>然后,我們必須將FastReport.Core和FastReport.Web.Blazor包添加到我們的項(xiàng)目中。也可以通過(guò)Visual Studio或.NET CLI來(lái)完成。讓我們考慮這兩種變體。
要將包添加到Visual Studio,請(qǐng)?jiān)谖覀兊捻?xiàng)目文件(csproj)上單擊鼠標(biāo)右鍵。上下文菜單打開(kāi);選擇“管理NuGet軟件包”。搜索兩個(gè)必需的程序包。請(qǐng)注意,勾選“包括預(yù)發(fā)行版本”必須處于活動(dòng)狀態(tài)。
要通過(guò).NET CLI添加軟件包,請(qǐng)鍵入以下命令:
dotnet add package FastReport.Core --prerelease dotnet add package FastReport.Web.Blazor --prerelease然后,我們應(yīng)該將FastReport.Core和FastReport.Web.Blazor使用的命名空間添加到用于Razor的文件命名空間列表中。為此,通過(guò)添加幾行來(lái)編輯_Imports.razor文件:
@using FastReport @using FastReport.Web.Blazor @using FastReport.Web.Blazor.Components在我們的應(yīng)用程序配置中注冊(cè)FastReport。為此,請(qǐng)打開(kāi)Startup.cs文件,并在Configure方法的末尾添加以下行:
app.UseFastReport();在Pages \ _Host.cshtml文件中,將第一行替換為以下內(nèi)容:
@page "/{ReportName}"為了使URL能夠包含我們要打開(kāi)的報(bào)告的名稱(chēng),這是必需的。
然后,我們編輯導(dǎo)航菜單Shared \ NavMenu.razor以映射Reports文件夾中的所有可用報(bào)告,并在它們之間進(jìn)行切換。
@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();
}
現(xiàn)在我們進(jìn)入主要階段。編輯Pages \ Index.razor文件以使用FastReport.Web.Blazor庫(kù)的主要組件WebReportContainer映射報(bào)表。輸入以下內(nèi)容:
@page "/"
@page "/{ReportName}"
<WebReportContainer WebReport="@MyWebReport" />
@code {
[Parameter]
public string ReportName { get; set; }
public WebReport MyWebReport { get; set; }
}
我們添加了WebReportContainer組件,并為其賦予了一個(gè)屬性-WebReport類(lèi)的對(duì)象。
讓我們創(chuàng)建另一個(gè)具有類(lèi)似名稱(chēng)的文件– Pages \ Index.razor文件旁邊的Index.razor.cs并在其中寫(xiě)入一個(gè)簡(jiǎn)單的邏輯:
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"));
}
}
}
該邏輯負(fù)責(zé)注冊(cè)數(shù)據(jù),創(chuàng)建WebReport對(duì)象,為其分配必要的參數(shù),包括我們從常量行中的報(bào)告名稱(chēng)下載或默認(rèn)使用的,由常量DEFAULT_REPORT定義的報(bào)告。
在對(duì)樣式和格式進(jìn)行了其余的少量操作之后,我們得到了一個(gè)Web應(yīng)用程序,該應(yīng)用程序可以處理報(bào)告,并提供了創(chuàng)建各種格式(PDF,Excel,Word和Open Office)文檔的機(jī)會(huì)。
相關(guān)鏈接:
-文檔(en):https : //www.fast-report.com/download/docs/FRNet/FastReport.Web.Blazor_manual_ (en) .pdf還想要更多嗎?您可以點(diǎn)擊閱讀【FastReport 報(bào)表2020最新資源盤(pán)點(diǎn)】,查找需要的教程資源。讓人興奮的是FastReport .NET正在慧都網(wǎng)火熱銷(xiāo)售中!低至3701元起!>>查看價(jià)格詳情
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自: