首页 > 技术文章 > BootstrapBlazor-Table

ysmc 2022-04-03 22:55 原文

原文地址: https://www.cnblogs.com/ysmc/p/16097712.html

官网地址:https://www.blazor.zone

项目于码云Gitee上开源,传送门

Table 表格

用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。

Table 组件已经支持移动端适配,当屏幕小于 RenderModelResponsiveWidth 设定值时,组件渲染成卡片式方便查看数据,其默认值为 768

Table 组件有一个 RenderModel 属性,其默认值为 Auto 其他值定义如下

  • Auto: 当屏幕小于 768px 时使用 CardView 模式,否则使用 Table 模式
  • Table: 表格渲染模式,使用 table 元素进行数据渲染,适合宽屏幕下查看数据
  • CardView:卡片式渲染模式,使用 div 元素进行数据渲染,适合窄屏幕下查看数据

Table 组件有一个 UseComponentWidth 属性,其默认值为 false,表示使用 window 宽度来进行判断,当设置值为 true 时,表示使用组件自身宽度进行判断

示例:

TableDemo.razor

1 <Table TItem="Demo" Items="@Items.Take(3)">
2     <TableColumns>
3         <TableColumn @bind-Field="@context.DateTime" Width="180" />
4         <TableColumn @bind-Field="@context.Name" />
5         <TableColumn @bind-Field="@context.Address" />
6     </TableColumns>
7 </Table>

Demo.cs

 1 public class Demo
 2 {
 3     /// <summary>
 4     ///
 5     /// </summary> 8     [Display(Name = "姓名")]
 9     public string? Name { get; set; }
10 
11     /// <summary>
12     ///
13     /// </summary>15     [Display(Name = "日期")]
16     public DateTime? DateTime { get; set; }
17 
18     /// <summary>
19     ///
20     /// </summary>
21     [Display(Name = "地址")]24     public string? Address { get; set; }
25 }

 

展示效果

Attributes 属性

 
参数
说明
类型
可选值
默认值
TableSize
表格大小
TableSize
Normal|Compact
Normal
HeaderStyle
表格 Header 样式
TableHeaderStyle
None|Light|Dark
None
Height
固定表头
int
PageItems
IsPagination=true 设置每页显示数据数量
int
AutoRefreshInterval
自动刷新时间间隔
int
2000
ExtendButtonColumnWidth
行操作按钮列宽度
int
130
RenderModelResponsiveWidth
组件布局模式自动切换阈值
int
768
IndentSize
树状数据缩进宽度(像素px)
int
16
Items
数据集合
IEnumerable<TItem>
PageItemsSource
IsPagination=true 设置每页显示数据数量的外部数据源
IEnumerable<int>
EditMode
设置编辑行数据模式
EditMode
Popup|Inline|InCell
Popup
MultiHeaderTemplate
表头分组模板
RenderFragment
TableFooter
Table Footer 模板
RenderFragment
TableToolbarTemplate
自定义按钮模板
RenderFragment
EditTemplate
编辑弹窗模板
RenderFragment<TItem?>
SearchTemplate
高级搜索模板
RenderFragment<TItem>
BeforeRowButtonTemplate
Table 行按钮模板 放置到按钮前
RenderFragment<TItem>
RowButtonTemplate
Table 行按钮模板 默认放置到按钮后
RenderFragment<TItem>
DetailRowTemplate
Table 明细行模板
RenderFragment<TItem>
IsBordered
边框
boolean
true / false
IsPagination
显示分页
boolean
true / false
IsStriped
斑马纹
boolean
true / false
IsRendered
组件是否渲染完毕
boolean
true / false
false
IsMultipleSelect
是否为多选模式,为 true 时第一列自动为复选框列
boolean
true / false
false
IsAutoRefresh
是否自动刷新表格
boolean
true / false
false
IsTree
是否为树形数据
boolean
true / false
false
IsDetails
是否为明细行表格,未设置时使用 DetailRowTemplate 进行逻辑判断
boolean
true / false / null
null
IsHideFooterWhenNoData
无数据时是否显示 Footer
boolean
true / false
false
ClickToSelect
点击行即选中本行
boolean
true|false
false
ShowCheckboxText
显示文字的选择列
boolean
true / false
ShowFooter
是否显示表脚
boolean
true / false
false
ShowFilterHeader
是否显示过滤行
boolean
true / false
false
ShowMultiFilterHeader
是否显示多级表头的过滤行
boolean
true / false
false
ShowSearch
显示搜索栏
boolean
true / false
false
ShowSearchText
显示搜索文本框
boolean
true / false
false
ShowResetButton
显示清空搜索按钮
boolean
true / false
true
ShowSearchButton
显示搜索按钮
boolean
true / false
true
ShowSearchButton
显示搜索按钮
boolean
true / false
true
SearchMode
搜索栏渲染方式
SearchMode
Popup / Top
Popup
ShowToolbar
显示 Toolbar
boolean
true / false
false
ShowLineNo
显示 行号
boolean
true / false
false
ShowDefaultButtons
显示默认按钮 增加编辑删除
boolean
true / false
true
ShowAddButton
显示增加按钮
boolean
true / false
true
ShowEditButton
显示编辑按钮
boolean
true / false
true
ShowEditButtonCallback
显示行内编辑按钮,未设置时使用 ShowEditButton 值
boolean
true / false
true
ShowDeleteButton
显示删除按钮
boolean
true / false
true
ShowDeleteButtonCallback
显示行内删除按钮未设置时使用 ShowEditButton 值
boolean
true / false
true
ShowExtendButtons
显示行操作按钮
boolean
true / false
false
ShowSkeleton
加载时是否显示骨架屏
boolean
true / false
false
ShowColumnList
是否显示列显示/隐藏控制按钮
boolean
true / false
false
ShowEmpty
是否显示无数据提示
boolean
true / false
false
ShowToastAfterSaveOrDeleteModel
保存/删除失败后是否显示 Toast 提示框
boolean
true / false
true
TreeIcon
树形数据行小箭头
string
fa-caret-right
UseComponentWidth
组件渲染模式是否使用组件宽度来判断
boolean
true|false
false
ScrollingDialogContent
编辑弹窗框是否为内部出现滚动条
boolean
true / false
true
FixedExtendButtonsColumn
是否固定扩展按钮列
boolean
true / false
false
OnQueryAsync
异步查询回调方法
Func<QueryPageOptions, Task<QueryData<TItem>>>
OnAddAsync
新建按钮回调方法
Func<Task<TItem>>
OnColumnCreating
列创建时回调委托方法
Func<List<ITableColumn>,Task>
OnDoubleClickCellCallback
设置单元格双击事件
Func<string, object, object?, Task>
OnDeleteAsync
删除按钮异步回调方法
Func<IEnumerable<TItem>, Task<bool>>
OnEditAsync
编辑按钮异步回调方法
Func<TItem, Task>
OnSaveAsync
保存按钮异步回调方法
Func<TItem, Task>
OnResetSearchAsync
重置搜索按钮异步回调方法
Func<TItem, Task>
OnClickRowCallback
点击行回调委托方法
Func<TItem, Task>
OnAfterSaveAsync
保存数据后异步回调方法
Func<TItem, Task>
OnAfterRenderCallback
表格渲染完毕后回调方法
Func<Table<TItem>, Task>
OnTreeExpand
树形数据节点展开式回调委托方法
Func<TItem, Task<IEnumerable<TItem>>>
OnDoubleClickRowCallback
双击行回调委托方法
Func<TItem, Task>
SortIcon
排序默认图标
string
fa fa-sort
SortIconAsc
排序升序图标
string
fa fa-sort-asc
SortIconDesc
排序降序图标
string
fa fa-sort-desc
EditDialogSaveButtonText
编辑弹窗中保存按钮文字
string
EditDialogIsDraggable
编辑弹窗是否可拖拽
bool
true|false
false
EditDialogShowMaximizeButton
编辑弹窗是否显示最大化按钮
bool
true|false
true
EditDialogSize
编辑弹窗大小
Size
Large
SearchDialogIsDraggable
搜索弹窗是否可拖拽
bool
true|false
false
SearchDialogShowMaximizeButton
搜索弹窗是否显示最大化按钮
bool
true|false
true
SearchDialogSize
搜索弹窗大小
Size
Large
AddModalTitle
新建数据弹窗 Title
string
EditModalTitle
编辑数据弹窗 Title
string
UnsetText
未设置排序时 tooltip 显示文字
string
点击升序
SortAscText
升序排序时 tooltip 显示文字
string
点击降序
SortDescText
降序排序时 tooltip 显示文字
string
取消排序
RenderMode
Table 组件布局模式设置
TableRenderMode
Auto|Table|CardView
Auto
EmptyText
无数据时显示文本
string
EmptyImage
无数据时显示图片链接地址
string
EmptyTemplate
无数据时显示模板
RenderFragment
EditDialogItemsPerRow
每行显示组件数量
int?
EditDialogRowType
设置组件布局方式
RowType
Row|Inline
Row
EditDialogLabelAlign
Inline 布局模式下标签对齐方式
Alignment
None|Left|Center|Right
None

Methods 方法

 
参数
说明
参数
返回值
AddAsync
手工添加数据方法
Task
EditAsync
手工编辑数据方法
QueryAsync
手工查询数据方法
Task

TableColumn 属性

 
参数
说明
类型
可选值
默认值
TextWrap
是否允许换行
boolean
true|false
false
AutoGenerateColumns
是否自动生成列
boolean
true|false
false
CssClass
自定义单元格样式
string
Editable
是否生成编辑组件
boolean
true|false
true
EditTemplate
模板
RenderFragment<object>
Filterable
是否可过滤数据
boolean
true|false
false
IsReadonlyWhenAdd
新建时此列只读
boolean
true|false
false
IsReadonlyWhenEdit
编辑时此列只读
boolean
true|false
false
Lookup
字典数据源
IEnumerable<SelectedItem>
LookUpServiceKey
LookupService 服务获取 Lookup 数据集合键值
string
Readonly
编辑时是否只读模式
boolean
true|false
false
SearchTemplate
模板
RenderFragment<object>
ShowTips
显示单元格 Tooltips
boolean
true|false
false
Sortable
是否排序
boolean
true|false
false
Text
表头显示文字
string
TextEllipsis
是否文本超出时省略
boolean
true|false
false
Template
模板
RenderFragment<TableColumnContext<object, TItem>>
Visible
是否显示此列
boolean
true|false
true
Width
列宽度(像素px)
int

写在最后

  希望大佬们看到这篇文章,能给项目点个star支持下,感谢各位!

star流程:

1、访问点击项目链接:BootstrapBlazor   star

2、点击star,如下图,即可完成star,关注项目不迷路:

 

另外还有两个GVP项目,大佬们方便的话也点下star呗,非常感谢:

  BootstrapAdmin 项目地址:star
  https://gitee.com/LongbowEnterprise/BootstrapAdmin

  SliderCaptcha 项目地址:star
  https://gitee.com/LongbowEnterprise/SliderCaptcha

 

交流群(QQ)欢迎加群讨论

       BA & Blazor ①(795206915)          BA & Blazor ②(675147445)

 

 

 

 

推荐阅读