Blazor的Telerik UI

Blazor数据网格组件

获得企业性能、特性和可访问性-并享受实现它的乐趣!

  • 可视化数据,并让用户使用强大的Blazor Grid组件编辑它。通过对分页、排序、筛选、延迟加载、灵活的数据绑定到任何应用程序数据源以及许多其他特性的支持,可以简单地设置这个全面的控件,以覆盖各种用例。
  • 该组件是最大的真正的原生Blazor组件套件的一部分- Telerik UI为Blazor设计,完全适合任何应用程序的需求。
  • Blazor UI套件还提供了专业设计的主题,支持开关的翻转,文档处理库,丰富的文档和演示,以帮助您立即开始。
kendo-ui-angular-header
logos_customers-2x

网格中所需要的一切

灵活的数据可视化和操作,得益于从排序和过滤到层次结构和导出的100+功能。每个特性都有详细的文档记录,易于实现。下面是一些最受欢迎的。

定制

通过EditorType参数自定义编辑器

Blazor Grid组件公开了一个EditorType参数,它提供了一种简单的方法,可以在不使用模板的情况下更改默认字段编辑器。要做到这一点,只需在GridColumn标记中提供您首选的编辑器。您可以灵活地选择DatePicker或DateTimePicker为DateTime类型,TextBox或TextArea为字符串字段,复选框或开关为布尔值。

了解如何在Blazor数据网格中添加自定义编辑器日期和时间。


Telerik Blazor网格自定义编辑器
定制

自定义默认过滤器

除了使用筛选器模板外,您还可以使用几个参数自定义Blazor Data Grid组件中的内置筛选。您可以设置默认的筛选操作符,并控制筛选下拉菜单和清除按钮是否可见。ShowFilterCellButtons和DefaultFilterOperator参数的配置是在gridcolumn标记中完成的。

数据绑定

重新绑定的方法

可以使用Rebind方法刷新Grid数据。只需一个调用,就可以调用数据处理和刷新呈现。如果您手动定义了OnRead事件,那么将执行其事件处理程序中定义的业务逻辑。

请看一个例子Rebind方法如何在Blazor Grid组件的上下文中工作

定制

自定义弹出编辑窗口

Blazor Data Grid组件为其弹出式编辑器公开了多个设置。你可以设置(最大)宽度,(最大)高度,CSS类。此外,我们还提供了gridpopupedformsettings标记,该标记允许您配置表单的方向(水平或垂直)、表单的列和柱间距布局参数,以及通过buttonlayout配置表单中按钮的水平对齐。

参见Blazor Data Grid中的自定义弹出式编辑示例。

网格搜索框占位符

在Grid的SearchBox中添加一个占位符文本,为用户提供他们可以搜索的内容的示例。

网格搜索框宽度

控制Grid组件的SearchBox的宽度,使其适应您为其准备的屏幕空间——我们相信在Blazor套件的Telerik UI中不应该有任何不能自定义的东西!

Blazor网格概述

Blazor Data Grid是一个功能齐全的数据可视化和编辑组件,可以在Blazor WebAssembly (WASM)和服务器端Blazor应用程序中工作。您可以轻松地在表中显示大量数据,然后对其进行分页、筛选、排序和分组,以及编辑行和验证用户输入。


您所需要做的就是向网格提供数据,通过简单的参数启用您想要的功能,我们将完成其余的工作,以确保美观的显示和出色的性能。您还可以通过模板和自己的CSS样式来调整可视化。

Telerik UI Blazor Grid
性能

网格分页

大型数据集通常被分割成更小的数据页,以方便最终用户并提高应用程序的性能。网格可以自动为您做这些,只需要启用一个属性。


用于Blazor网格分页的Telerik UI
性能

编辑网格数据

Telerik Blazor Grid组件允许最终用户编辑数据。它们可以更改或删除现有记录或插入新记录——所有CRUD操作都通过提供用户操作和模型的事件方便地公开,因此您所要做的就是添加业务逻辑并调用数据服务。它还支持类似excel的编辑,大大减少了击键的次数——按Enter键将存储当前单元格的值,移动到列中的下一个单元格,并自动选择其内容,以便下一次击键将覆盖它。

网格还提供了三种内置的编辑模式:

  • 弹出

  • 内联整行同时被编辑和保存,

  • InCell它允许您快速编辑某个字段并发送更改。


所有3种编辑模式都通过Blazor内置验证和Blazor验证工具提示组件的Telerik UI提供集成验证

编辑过的单元格始终可见并被选中,以便用户始终可以看到他们正在修改的内容。

Telerik UI Blazor Grid
定制

自定义过滤器操作符在Blazor数据网格

Blazor DataGrid组件的筛选行和筛选菜单中的筛选操作符列表可以按列定制。要添加自己的筛选操作符列表,需要在标记中设置FilterOperators参数。如果没有显式定义,将根据字段类型使用可用操作符的默认列表。

出口

CSV导出

Telerik Blazor网格现在有功能导出为CSV格式.通过添加专用命令按钮,可以在工具栏中轻松配置。导出后,您将把所有应用的过滤器、排序、分页、分组和列排序传输到CSV文件中。您可以选择只导出当前页面,或者导出所有数据。

Telerik UI Blazor Grid-CSV导出
列操作

列菜单

菜单特性简化了对常见操作的访问,并为应用程序的用户提供了一种方便的方法来应用排序、过滤,以及从中心点切换列的可见和锁定状态。方法对菜单中的列进行分组并对其进行进一步配置GridColumnMenuSettings标签。

Telerik UI的Blazor网格列菜单
性能

搜索框

搜索框是过滤网格中记录的另一种方法,它是网格过滤选项的补充,但要简单得多。要向网格添加搜索框,只需添加GridSearchBox给它的孩子们。一旦完成,用户将能够输入文本立即直观地过滤网格元素。搜索框还设有一个小X按钮,可以轻松清除其内容,也可以通过编程触发。

Telerik UI的Blazor网格搜索框
性能

Multi-Checkbox过滤器

通过多重复选框过滤器,用户可以轻松地根据选定的值过滤网格数据。这种类型的过滤器功能类似于Microsoft Excel过滤,并且有许多应用程序——从查找员工的所有销售到查找给定类别中的所有库存项目。

网格-多复选框过滤器
列操作

多列标题

在许多情况下,您的表将包含表示整体的几个部分的列。例如,您可能有First和Last name列,这两个列都存储有关人员姓名的信息。在这些情况下,Grid组件提供了多列标题,以帮助您直观地表示这些列之间的关系。

查看Blazor网格多列标题演示
Telerik UI Blazor网格-多列标题
行操作

行拖放

为了便于对Grid中的项进行重新排序或将行从一个Grid移动到另一个Grid,该控件支持拖放。启用RowDraggable属性,这将在表的开头添加一个特殊的列,供用户在拖动时使用。
Telerik UI的Blazor网格拖放
数据绑定

加载动画

有时,Grid需要一段时间才能更新严重超载的服务器上的一些数据。如果不希望用户在操作期间盯着空白屏幕,可以使用内置的Grid加载指示器直观地指示正在处理数据。Grid足够智能,可以在检测到运行缓慢的异步数据操作时显示busy指示器。

查看网格加载动画演示页面关于如何实现它的例子。

Telerik UI的Blazor网格加载动画
数据绑定

按需负载组

这个节省时间的特性旨在使您和您的用户能够有选择地处理给定时刻所需的Grid中信息的一小部分。如果您的Grid应用了分组(通过用户或通过网格状态),并且LoadGroupsOnDemand参数被设置为true,那么Grid将默认地折叠所有组,并仅在特定的组被展开时向数据源请求数据。如果您的组很大,这个参数可以极大地提高性能和特定组的可发现性。
Telerik UI Blazor网格-分组负载按需
定制

基于屏幕空间的定制

多亏了Blazor MediaQuery组件的Telerik UI, Grid可以轻松配置以适应大量的设备—您可以隐藏或显示列,这取决于您有多少可用的屏幕空间!任何定制选项都可以与MediaQuery一起使用,为尽可能多的用户提供服务。
Telerik UI Blazor Grid
列操作

多列排序

网格SortMode财产,可以启用基于多个网格列的数据排序。SortMode接受两个值:

  • Single(默认值):只能对数据应用一个排序条件
  • Multiple:多列排序。对一个列排序,然后对另一个列排序,将按指定顺序应用这两个排序条件。
Telerik UI的Blazor网格多列排序
定制

聚合页脚模板

中显示聚合的结果网格页脚模板为每个数据绑定列,通常称为总计。这在财务应用程序或内部报告中特别有用,您可以快速给出数据摘要。这两个例子值,并可以显示自定义内容。无论网格的垂直滚动如何,页脚模板将始终保持可见。

Telerik UI为Blazor网格页脚模板聚合
列操作

列可见属性

使用“网格列可见”属性以编程方式控制哪些网格列可见。当需要始终隐藏列时,可以直接设置列属性可见为假。但是,在需要提供条件可见性的其他情况下,也可以动态地管理列的可见性。查看更多控件中控制列可见性的代码示例《Blazor Grid》的Telerik UI。

Telerik用户界面的Blazor网格可见参数列
行操作

网格自定义筛选行和菜单

自定义筛选器行和自定义筛选器菜单是定制Grid以满足特定需求的另外两种方法。它们为您提供了替换Grid中每个列顶部的内置过滤器的能力,并为您的特定情况提供了更用户友好的过滤器。例如,你可能想要简单地给用户选择最小值和最大值的选项,而不是一般的内置数字功能,这可能会让人不知所措。

Telerik UI为Blazor网格自定义过滤器菜单

删除确认

在Inline模式下编辑Grid元素时,用户可以选择删除某一行。然而,他们可能会不小心点击按钮,最终丢失重要信息。因此,我们添加了一个Delete Confirmation弹出框,询问用户是继续删除记录还是取消操作。
Telerik用户界面的Blazor网格删除确认
性能

网格滤波

当您正在寻找某个记录或匹配给定条件的行时,您需要筛选数据集。Telerik Blazor网格可以让您的用户毫不费力地做到这一点。两种不同的过滤模式提供了不同的体验——总是可用的过滤行让他们立即打字和过滤,而过滤器菜单占用更少的空间,并允许他们构建更复杂的查询。
Telerik UI的Blazor网格过滤菜单
性能

网格分组

您可以根据不同字段中的值对网格进行分组以查看它们之间的关系,对给定组进行聚合,并在组中嵌套组以查看数据。只要将Groupable参数设置为true,就可以简单地将列标题拖到按它们分组的位置。


Telerik UI的Blazor网格分组
定制

使用模板定制网格

Telerik Blazor数据网格允许您自定义在单元格,编辑器和各种页眉和页脚中呈现的内容,以便您可以根据需要调整它,并显示额外的数据。


你可以定义:

  • 单元格的特殊内容-从字符串或数字的特定格式,到图表和工具提示等整个组件,都可以进入每个数据单元。

  • 自己的编辑网格根据字段类型提供了内置的编辑器,你可以定义自己的,在那里你可以实现进一步的逻辑,渲染和外观。

  • 列标题-当字段名不够,你想添加更多的东西-从多行文本,可操作的按钮。

  • 列组页脚-一个添加聚合信息的好地方(网格为您提供)。

  • 组头-更多关于当前分组级别的描述,包括数据聚合。

  • 整行渲染你可以渲染你自己的HTML,直到元素,而不是网格。


了解更多在我们的Blazor网格模板文档

行操作

网格单元格的条件格式

Blazor Grid组件的Telerik UI分派OnCellRender当任何Grid列被呈现时,事件。该事件针对列中的每个单元格引发,并提供有关当前单元格正在使用的项的信息。使用此事件可有条件地格式化单元格的样式类。

Telerik UI的Blazor条件格式的网格单元格
行操作

网格行条件格式

每当Grid的行被渲染时,OnRowRender事件就会被触发。它每行被调用一次,在处理程序中,您将收到关于正在呈现的当前项的信息。使用此方法可有条件地格式化不同行的样式。
列操作

Blazor数据网格头单元格CSS类

要自定义任何Blazor Grid列标题的外观,可以利用GridColumn标记中公开的HeaderClass参数。这将允许您为列标题单元格定义自定义CSS类,并轻松加粗它们的文本,改变它们的对齐方式或样式,使它们脱颖而出。

Telerik Blazor数据网格头单元格类
列操作

栅格列显示格式

Grid可以使用自定义显示格式打印任何值类型,以提高值的可读性。类的数据成员上添加属性,或在类的数据成员上添加属性,都可以指定显示格式GridColumn标签。

数据绑定

动态ExpandoObject的网格支持

Blazor Grid的Telerik UI还可以使用来自弱类型ExpandoObject的数据。当连接到基于旧技术的后端时,通常会出现这种情况,并且通常会使网格处理的集成更加困难。

性能

网格虚拟滚动

有些用户更喜欢滚动数据,而不是使用寻呼机。对于大型数据集,这很容易降低应用程序的速度。Telerik Grid通过启用来避免这种情况虚拟滚动.它只呈现来自当前数据页的行,并在用户滚动时交换它们,而不是为数据源中的每个项呈现一行。您甚至可以按需加载下一页,而不是一次提供所有数据。
Telerik UI的Blazor网格虚拟滚动
列操作

网格栏滚动

除了行虚拟化之外,您还可以轻松地添加Grid列虚拟化。最棒的是,当您在Blazor Grid中处理大量数据行和列时,可以同时对行和列进行虚拟化,从而获得最佳性能。


列操作

网格列调整大小

您可以根据期望的数据或其他业务逻辑定义网格中每个列的期望宽度。但是,您的用户可能有不同的偏好,或者有一个奇怪的屏幕分辨率,他们可能想要一个新的列大小。Telerik网格已经覆盖了你-它让用户可以调整列的大小你甚至可以为每个人存储那个状态,这样他们就不用重复了。

Grid允许开发人员以编程方式(通过方法)调整列的大小,也允许最终用户手动调整列的大小。最终用户可以通过拖动列边框并将其拖放到所需位置来调整列的大小。作为开发人员,您可以使用三种方法来调整数据网格列的大小:

  • AutoFitColumn调整您选择的列的宽度

  • AutoFitColumns调整您选择的多个列的宽度

  • AutoFitAllColumns调整所有列的宽度

Telerik UI Blazor网格列调整大小
列操作

网格列重排

当在网格中声明列时,通常会将最重要的列放在前面。不过,用户可能有不同的需求、任务或偏好,而Telerik Blazor Grid允许他们重新排列列以满足他们的需求。


Telerik UI的Blazor网格列重新排序
行操作

网格行单击并双击事件

每当单击或双击Grid中的一行时,就会触发相应的事件,您可以处理它来做一些有趣的事情,比如在单独的控件中显示该行的详细视图,或者获取/向服务器发送关于此特定项的更多数据。

列操作

网格自动生成列

为了简化网格列定义,您可以利用自动列生成特性。当你想在Grid中显示与你的数据模型完全匹配的列列表时,你可以可视化、更新、删除和插入记录,而不需要额外的开销——你所要做的就是将Grid AutoGenerateColumns参数设置为“true”。



网格自动生成的列与Blazor Grid中的列虚拟化一起工作很好。


列操作

栅格冻结柱

在有许多列的网格中,用户经常向左或向右滚动,并希望始终保持某些重要的列可见——例如id、要编辑的命令列、选择列或任何其他有价值的列。Telerik Blazor网格为web带来了Excel冻结列功能,更加灵活-您可以在开始,结束时保持列冻结,甚至来自网格中间的列也可以始终可见并固定在一端。


Telerik UI为Blazor网格冻结列
数据绑定

网格状态管理

在一天结束的时候,人们想要关闭他们的电脑,然后明天回到他们离开的地方。Telerik Blazor网格通过从任何存储中保存和加载其状态,让他们在web应用程序中获得这种体验。更改网格显示的每个用户操作(例如分页、筛选,甚至编辑)都会触发一个事件,您可以使用该事件记录其状态,以便在用户重新登录时,甚至在单击按钮时恢复其原样。


网格状态还允许您从应用程序逻辑的其他位置调用这些操作。例如,如果在应用程序中发生了其他事情,您可以告诉网格根据特定的字段和值进行过滤,或者返回到第一页。


网格状态管理示例-持久(保存和加载),并以编程方式更改。

Telerik UI的Blazor网格持续状态
性能

网格层次结构

这一行有很多细节,但并不是所有的细节都很重要。将它们隐藏在Detail Template中,以便用户可以在需要时展开行并查看它们,而不会使主表混乱。


网格的层次结构特性非常灵活,可以向下钻取数据,展开和折叠想要查看的行,并根据需要显示数据。您可以设计任何您想要的布局,并在那里放置一个网格来展示嵌套网格与其父行之间的层次关系。


Telerik UI的Blazor网格层次结构
出口

网格导出到Excel

Blazor服务器端和WebAssembly应用程序中的用户都可以轻松地将Grid数据导出到Excel,只需单击一个按钮。导出的文件将保留Grid设置,以便对xlsx文档中的数据应用过滤、排序、分页、分组、列顺序和列大小。导出允许开发人员设置导出数据的结果文件名和配置——当前显示的页面或网格中的所有页面。开发人员还可以控制导出文件中包含哪些数据项或列(通过OnBeforeExcelExport事件)以及导出列的宽度无缝支持。Excel和CSV导出可以通过编程方式触发(通过API中新公开的方法)。


输出Blazor网格数据到Excel。

Telerik UI Blazor网格导出到excel
行操作

网格行选择

当用户突出显示某一行时,您可以使用该信息来显示更多数据、其他组件或简单地收集他们的选择列表。网格通过单行和多行选择模式公开了所有这些,还允许您选择当前页面上或整个网格上的所有项,这对于批量操作非常方便,例如一次性删除许多记录,或将数据从一个地方(或状态)移动到另一个地方。通过单击行选择行,或添加复选框进行选择,以保留单元格编辑的单击交互。


所选项目提供了很大的灵活性-您可以使用双向绑定来预定义项目或自动更新您的集合;或者你可以消费一个事件,这样你就可以对用户活动做出反应并更新你的应用程序。


Telerik UI Blazor Grid
数据绑定

网格数据绑定

在最简单的情况下,只需将Blazor Grid的数据参数指向数据集合,并在其中定义所需的列。网格将为您完成所有其他工作(分页、排序、过滤等等)。


用于Blazor数据绑定的Telerik UI
数据绑定

将网格绑定到数据表

Blazor Grid的Telerik UI还可以使用来自DataTable对象的数据。这使得它更容易连接到仍然使用数据表的遗留代码。

性能

网格的性能

您可以通过使用EntityFramework支持的iquereable集合按需加载当前页面的数据来提高性能(对于服务器端Blazor应用程序),或者通过OnRead事件实现您自己的数据操作(适用于WASM和服务器端Blazor)。自定义数据加载也适用于所有其他网格功能,如分页、过滤和虚拟滚动,因此您可以进行最有效的数据库查询。


Telerik UI的性能为Blazor组件
辅助功能和键盘导航

网格全球化与本土化

Telerik Blazor Grid响应用户文化自动—例如,数字输入和日期输入中的格式使用当前用户区域性,并且可以轻松翻译寻呼机工具提示和命令按钮文本等字符串。

Telerik UI的开拓者全球化和本地化
辅助功能和键盘导航

网格访问和键盘导航

残疾用户也需要使用您的站点,而Telerik Grid组件在这方面提供了帮助——它使用语义标记并涵盖了当前的可访问性标准(包括WCAG、Section 508和屏幕阅读器的WAI-ARIA属性)。此外,您可以单独使用键盘在网格中导航并调用所有操作。


Telerik UI Bazor键盘导航

无数据模板

Blazor Grid的Telerik UI允许您定义自定义内容,当组件没有数据显示这一行时,将呈现这些内容。No Data模板将覆盖“No Data”文本,并显示您所提供的内容。
Telerik UI为Blazor网格-没有数据模板
列操作

使用列虚拟化冻结列

即使启用了列虚拟化,也可以冻结列!想象一下,一个网格中充满了一家经营了20年的商店的销售数据——第一列可能包含商品列表,而所有其他列存储每个商品的每月销售情况。也就是20 * 12 = 240列!如果您虚拟化列,但冻结项目名称,那么浏览这些数据就很简单了——这样用户就可以轻松地查看特定月份的销售情况,而不会出现性能问题。
辅助功能和键盘导航

列虚拟化键盘导航

该特性允许用户在Grid组件中的虚拟列中使用键盘导航。由于标准快捷方式仍然适用,因此存在一些差异。Home和End按钮将焦点移动到未处于编辑模式的单元格的虚拟列范围中的第一个或最后一个单元格。Alt + Home/End按钮的组合会导致将焦点移动到一行中的第一个/最后一个单元格,也不在编辑模式下。如果启用了内联编辑模式并且Tab聚焦虚拟列范围中的下一个可聚焦元素,则按F2将该行置于编辑模式。
列操作

将列宽度调整为内容

列可以自动调整大小,使其宽度等于列中最宽单元格的宽度,类似于MS Excel和其他电子表格的操作方式。
Telerik UI Blazor Grid
行操作

对齐单元格值

网格列提供了一种通过TextAlign参数指定内容水平对齐的方法。您可以选择左、右或中心列对齐方式,以最方便的方式组织您的数据以满足您的需要。

探索不同的格式选项

Telerik UI为Blazor网格-对齐网格单元格值
数据绑定

将上下文传递给命令按钮

Blazor Grid组件的Telerik UI现在允许您根据行项的属性拥有条件命令按钮。这是通过将当前行项作为上下文(对象类型)添加到当前ChildContent参数来实现的。
inverted-top-curve-blue

为什么开发者喜欢为Blazor Data Grid使用Telerik UI

  • 用于维护和可伸缩性的TypeScript
  • 完整的可访问性
  • 文档和演示
  • 响应设计
  • 本土化与全球化
  • 定制的一切
  • 主题和设计系统
  • 与其他组件集成
kendo-illustration
trust-radius-badge

Telerik获得多项TrustRadius 2021年最佳开发奖

Telerik赢了最佳功能集而且最佳客户支持

trust-radius-badge

Telerik UI获得了TrustRadius的2021年最高评级奖

Telerik UI获得了TrustRadius的最高评级奖软件组件而且. net开发

这很容易开始与Telerik Blazor网格

我们大力投资,以确保您的体验与Blazor网格是成功和愉快的,因为它可以。我们不断地发布资源,完善我们的文档和演示,甚至在twitch上播放流媒体。以下是一些最受欢迎的资源。

博客
AngularT Dark_270x123
Blazor DataGrid Meets Telerik Report Viewer

了解如何轻松地将数据集修改为所需的内容并在报告中显示它。

样例应用程序
AngularT Dark_270x123
燃烧咖啡PWA

用burning Coffee PWA体验一个真实的例子,看看如何用ASP构建一个全栈的。net应用程序。NET Core, Blazor WASM,以及Blazor的Telerik UI。

博客
AngularT Dark_270x123
使用没有列表的DataGrid

了解如何使用OnRead事件将Blazor Grid绑定到任何数据源。

常见问题

  • 什么是Blazor?
  • 为什么我应该为Blazor DataGrid选择Telerik UI ?
  • 我可以使用Blazor DataGrid构建什么类型的Blazor应用程序?

所有Blazor组件

Baidu
map