2020年4月23日 星期四

在 Blazor 專案內使用 Syncfusion 的 DataGrid 套件

在 Blazor 專案內使用 Syncfusion 的 DataGrid 套件

在上一篇文章 使用 Blazor 專案與 Entity Freamework Core 讀取已經存在的 Contoso University 資料庫 中,說明如何在 Blazor 專案內,透過 C# 程式碼來讀取 Entity Framework 資料庫內的資料表紀錄,在這篇文章中,將會延續上一個專案程式碼,不過,在這裡將會使用 Syncfusion 的 DataGrid 元件顯示這些資料。
這個說明專案的原始碼位於 bzSyncfusionDataGrid

使用 Syncfusion 的準備工作

  • 上一篇文章的專案,也就是 bzEntityFrameworkCore
  • 滑鼠右擊專案 [相依性] > [管理 NuGet 套件]
  • 搜尋 [Syncfusion.Blazor] 套件,安裝到專案內
  • 在 [Pages] 資料夾內找到 [_Host.cshtml] 檔案,並且打開該檔案
  • 在 <head> 區段內加入底下的宣告
@*底下為要使用 Syncfusion 相關套件需要用到的 css 內容*@
<link href="_content/Syncfusion.Blazor/styles/fabric.css" rel="stylesheet" />
<!---CDN--->
@*<link href="https://cdn.syncfusion.com/blazor/18.1.44/styles/fabric.css" rel="stylesheet" />*@

@*底下為要相容於 IE11 要做的宣告*@
<script src="https://github.com/Daddoon/Blazor.Polyfill/releases/download/3.0.1/blazor.polyfill.min.js"></script>
  • 在專案根目錄下打開 [_Imports.razor] 檔案
  • 加入這行程式碼到最後面 @using Syncfusion.Blazor.Grids
  • 在專案根目錄下打開 [Startup.cs] 檔案
  • 找到 [ConfigureServices] 方法,註冊 Syncfusion 會用到的相關服務,使用該行敘述 services.AddSyncfusionBlazor();

開始使用 DataGrid 元件

  • 打開 [Pages] 資料夾內的 [index.razor] 檔案,輸入底下 HTML 標記與程式碼
@page "/"
@using bzEntityFrameworkCore.Models
@using Microsoft.EntityFrameworkCore
@inject ContosoUniversityContext Context

<h1>Hello, Entity Framework Core</h1>

<button class="btn btn-primary" @onclick="LoadData">讀取資料庫</button>

<SfGrid DataSource="@records">

</SfGrid>
@code{
    List<Course> records = new List<Course>();
    async void LoadData(MouseEventArgs e)
    {
        records = await Context.Course.ToListAsync();
        StateHasChanged();
    }
}
  • 執行這個專案,將會看到使用 Syncfusion DataGrid 元件顯示出底下的輸出內容,若有看到,就代表已經成功讀取資料庫紀錄了。



沒有留言:

張貼留言