中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

BootstrapBlazor中Table組件的自動生成列功能怎么用

今天小編給大家分享一下BootstrapBlazor中Table組件的自動生成列功能怎么用的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)安溪免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

BootstrapBlazor中Table組件的自動生成列功能怎么用

Bootstrap Blazor 是一套企業(yè)級 UI 組件庫,適配移動端支持各種主流瀏覽器,已經(jīng)在多個交付項目中使用。通過本套組件可以大大縮短開發(fā)周期,節(jié)約開發(fā)成本。目前已經(jīng)開發(fā)、封裝了 70 多個組件。

Table 應(yīng)該是做管理型網(wǎng)站開發(fā)的核心組件了,通過 Table 可以衍生出非常多的功能,由于這套組件幾乎沒有宣傳,導(dǎo)致知道的人不是很多,但是很多小伙伴都是使用了其他一些開源 blazor 項目后發(fā)現(xiàn) Table 組件根本無法使用。

  • 加載數(shù)據(jù)太卡

  • 功能缺失太多

那么從今天開始正式介紹一下性能爆炸,操作簡單的 BootstrapBlazor 組件庫中的最強(qiáng)王者組件 Table,由于功能實在是太多,僅示例目前網(wǎng)站中就有近 60 個各種實戰(zhàn)中需要的功能,再接下來的時間里我們一一介紹

自動生成列功能

使用 Table 組件時大多數(shù)組件都是要求用戶輸入顯示那些列,這樣會在 razor 文件中增加大量列相關(guān)信息,如下所示

<TableColumn @bind-Field="@context.DateTime" Width="180" />
<TableColumn @bind-Field="@context.Name" />
<TableColumn @bind-Field="@context.Address" />
<TableColumn @bind-Field="@context.Education" />
<TableColumn @bind-Field="@context.Count" />
<TableColumn @bind-Field="@context.Complete">

如果一個實體類屬性太多時。這里書寫起來就會篇幅非常長,BootstrapBlazor 組件庫的 Table 組件有一個屬性 AutoGenerateColumns ,當(dāng)設(shè)置其值為 true 時,會根據(jù)綁定模型的屬性進(jìn)行自動生成列信息,為開發(fā)人員節(jié)約了大量的代碼,先看示例

<Table TItem="BindItem" IsStriped="true" IsBordered="true" IsMultipleSelect="true"
            ShowToolbar="true" ShowExtendButtons="true" AutoGenerateColumns="true"
            OnQueryAsync="@OnEditQueryAsync" OnResetSearchAsync="@OnResetSearchAsync"
            OnSaveAsync="@OnSaveAsync" OnDeleteAsync="@OnDeleteAsync">
</Table>

怎么樣?通過這一行代碼就完成了表格的全自動生成,并且提供了增、刪、改、查、過濾、排序等等全部功能。效果圖如下

BootstrapBlazor中Table組件的自動生成列功能怎么用

是不是有一些心動,這么少的代碼居然可以實現(xiàn)這么多功能?沒錯!用 BootstrapBlazor 組件庫的 Table 組件開發(fā)就是這么簡單。

劃重點

使用 Table 組件 UI 層面的基本操作均已經(jīng)封裝到組件功能中,開發(fā)人員只需要將精力轉(zhuǎn)移到數(shù)據(jù)庫的操作上去,如例子中的

  • OnQueryAsync 數(shù)據(jù)查詢方法

  • OnSaveAsync 數(shù)據(jù)保存方法(內(nèi)部自動判斷主鍵執(zhí)行插入或者更新操作)

  • OnDeleteAsync 數(shù)據(jù)刪除方法 (可自行進(jìn)行真實刪除或者標(biāo)記刪除操作)

  • OnResetSearchAsync 重置搜索方法

實現(xiàn)原理

Table 組件為泛型組件,通過 TItem 設(shè)定綁定模型類型為 BindItem 實體類,在這個實體類中通過 AutoGenerateColumnAttribute 標(biāo)簽對自動生成列規(guī)則進(jìn)行設(shè)置,具體參數(shù)如下:

[AttributeUsage(AttributeTargets.Property)]
public class AutoGenerateColumnAttribute : Attribute, ITableColumn
{
    /// <summary>
    /// 獲得/設(shè)置 顯示順序
    /// </summary>
    public int Order { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 是否忽略 默認(rèn)為 false 不忽略
    /// </summary>
    public bool Ignore { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 當(dāng)前列是否可編輯 默認(rèn)為 true 當(dāng)設(shè)置為 false 時自動生成編輯 UI 不生成此列
    /// </summary>
    public bool Editable { get; set; } = true;

    /// <summary>
    /// 獲得/設(shè)置 當(dāng)前列編輯時是否只讀 默認(rèn)為 false
    /// </summary>
    public bool Readonly { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 是否允許排序 默認(rèn)為 false
    /// </summary>
    public bool Sortable { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 是否為默認(rèn)排序列 默認(rèn)為 false
    /// </summary>
    public bool DefaultSort { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 是否為默認(rèn)排序規(guī)則 默認(rèn)為 SortOrder.Unset
    /// </summary>
    public SortOrder DefaultSortOrder { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 是否允許過濾數(shù)據(jù) 默認(rèn)為 false
    /// </summary>
    public bool Filterable { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 是否參與搜索 默認(rèn)為 false
    /// </summary>
    public bool Searchable { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 列寬
    /// </summary>
    public int? Width { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 是否固定本列 默認(rèn) false 不固定
    /// </summary>
    public bool Fixed { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 列是否顯示 默認(rèn)為 true 可見的
    /// </summary>
    public bool Visible { get; set; } = true;

    /// <summary>
    /// 獲得/設(shè)置 本列是否允許換行 默認(rèn)為 false
    /// </summary>
    public bool AllowTextWrap { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 本列文本超出省略 默認(rèn)為 false
    /// </summary>
    public bool TextEllipsis { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 列 td 自定義樣式 默認(rèn)為 null 未設(shè)置
    /// </summary>
    public string? CssClass { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 顯示節(jié)點閾值 默認(rèn)值 BreakPoint.None 未設(shè)置
    /// </summary>
    public BreakPoint ShownWithBreakPoint { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 格式化字符串 如時間類型設(shè)置 yyyy-MM-dd
    /// </summary>
    public string? FormatString { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 文字對齊方式 默認(rèn)為 Alignment.None
    /// </summary>
    public Alignment Align { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 字段鼠標(biāo)懸停提示
    /// </summary>
    public bool ShowTips { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 列格式化回調(diào)委托
    /// </summary>
    public Func<object?, Task<string>>? Formatter { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 編輯模板
    /// </summary>
    public RenderFragment<object>? EditTemplate { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 顯示模板
    /// </summary>
    public RenderFragment<object>? Template { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 搜索模板
    /// </summary>
    public RenderFragment<object>? SearchTemplate { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 過濾模板
    /// </summary>
    public RenderFragment? FilterTemplate { get; set; }

    /// <summary>
    /// 獲得/設(shè)置 列頭顯示文字未設(shè)置時顯示字段名稱
    /// </summary>
    public string? Text { get; set; }
}

以上就是“BootstrapBlazor中Table組件的自動生成列功能怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文名稱:BootstrapBlazor中Table組件的自動生成列功能怎么用
文章起源:http://m.rwnh.cn/article26/gdddjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、做網(wǎng)站、網(wǎng)站營銷軟件開發(fā)、網(wǎng)站設(shè)計公司、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
滁州市| 宝兴县| 太湖县| 吉林市| 光山县| 海口市| 石嘴山市| 德化县| 玛多县| 闽侯县| 彝良县| 洮南市| 淳化县| 班戈县| 巴南区| 宁晋县| 朝阳县| 新竹市| 延津县| 宜阳县| 奉化市| 宜宾市| 晋州市| 乌拉特中旗| 萨嘎县| 伊川县| 屏东县| 苗栗县| 宁波市| 宝坻区| 明星| 铜梁县| 房山区| 苏尼特左旗| 慈溪市| 固阳县| 广东省| 繁昌县| 连州市| 柳河县| 泊头市|