首页 > 其他分享 >界面控件DevExpress Blazor UI v24.1 - 发布全新TreeList组件

界面控件DevExpress Blazor UI v24.1 - 发布全新TreeList组件

时间:2024-07-18 09:56:51浏览次数:9  
标签:控件 DevExpress 组件 v24.1 数据源 TreeList Blazor 节点

DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验,这个UI自建库提供了一套全面的原生Blazor UI组件(包括Pivot Grid、调度程序、图表、数据编辑器和报表等)。

DevExpress Blazor控件目前已经升级到v24.1版本了,此版本发布了全新的TreeList组件、HTML编辑器、PDF查看器等,欢迎下载最新组件体验!

DevExpress v24.1正式版下载

DevExpress技术交流群10:532598169      欢迎一起进群讨论

全新的TreeList (CTP)组件

新版本发布的DevExpress Blazor TreeList允许您轻松地组织、显示和导航分层数据,该组件具有以下集成功能:

  • 数据排序
  • 筛选行与自动生成的编辑器
  • 总摘要
  • 单节点和多节点选择
  • 聚焦行
  • Header Bands
  • 分页和滚动
  • 虚拟滚动
  • 工具栏
  • 键盘支持
DevExpress Blazor UI v24.1产品图集

您将注意到DevExpress Blazor TreeList和Grid UI组件的外观和行为操作相似,DevExpress Blazor TreeList和Grid使用相同的渲染引擎,并依赖于共同的逻辑/算法。由于组件之间的通用性,我们会在未来的发布周期中同时向这两个组件添加新功能。

绑定到平面数据

DevExpress Blazor TreeList组件可以绑定到任何传统数据源,由于TreeList被设计为使用树结构显示信息,因此它的数据源必须满足特定的需求。如果数据源包含平面数据,则需要两个额外字段来构建适当的树结构:

  • 包含节点唯一标识符的字段,将此字段分配给KeyFieldName属性。
  • 包含节点父节点的唯一标识符的字段,将此字段分配给ParentKeyFieldName属性。

下面的例子将Blazor TreeList组件绑定到一个平面数据源:

Razor

@inject IEmployeeTaskDataProvider EmployeeTaskDataProvider
<DxTreeList Data="@TreeListData"
KeyFieldName="Id"
ParentKeyFieldName="ParentId">
<Columns>
<DxTreeListDataColumn FieldName="Name" />
<DxTreeListDataColumn FieldName="EmployeeName"/>
<DxTreeListDataColumn FieldName="StartDate" />
<DxTreeListDataColumn FieldName="DueDate" />
</Columns>
</DxTreeList>

@code {
List<EmployeeTask> TreeListData { get; set; }
protected override void OnInitialized () {
TreeListData = EmployeeTaskDataProvider.GenerateData();
}
}
绑定服务器端数据

您也可以将DevExpress Blazor TreeList 组件绑定到DevExtremeDataSource,此数据源允许您在绑定大型数据集时提高TreeList性能,原因如下:

  • TreeList根据需要加载子节点(当用户展开节点时)。
  • DevExtremeDataSource在服务器端执行数据过滤操作。

要将组件绑定到DevExtremeDataSource,您必须:

绑定到分层数据

如果数据源中的每个节点都包含一个带有子节点列表的字段,则将该字段的名称分配给ChildrenFieldName属性并将data属性绑定到数据源:

Razor

@inject ISpaceObjectDataProvider SpaceObjectDataProvider
<DxTreeList Data="@TreeListData"
ChildrenFieldName="Satellites">
<Columns>
<DxTreeListDataColumn FieldName="Name"/>
<DxTreeListDataColumn FieldName="TypeOfObject" Caption="Type"/>
<DxTreeListDataColumn FieldName="Mass" Caption="Mass, kg"/>
<DxTreeListDataColumn FieldName="MeanRadius" Caption="Radius, km"/>
</Columns>
</DxTreeList>

@code {
List<SpaceObject> TreeListData { get; set; }
protected override void OnInitialized () {
TreeListData = SpaceObjectDataProvider.GenerateData();
}
}

或者您可以将一组根节点分配给Data属性,并处理ChildrenLoading 事件来用子节点填充节点。在事件处理程序中,使用Parent参数确定处理的节点,并将该节点的子节点分配给Children属性。

按需加载数据

DevExpress Blazor TreeList允许您最初只加载根节点,并在节点第一次扩展时检索节点子节点。要将组件切换到按需模式,请遵循以下步骤:

下面的例子按需加载TreeList数据:

Razor

@inject FileSystemDataProvider FileSystemDataProvider
<DxTreeList Data="TreeListData"
HasChildrenFieldName="HasChildren"
ChildrenLoadingOnDemand="TreeList_ChildrenLoadingOnDemand">
<Columns>
<DxTreeListDataColumn FieldName="Name" />
<DxTreeListDataColumn FieldName="Type" />
<DxTreeListDataColumn FieldName="DateModified" />
<DxTreeListDataColumn FieldName="Size" />
</Columns>
</DxTreeList>

@code {
object TreeListData { get; set; }
protected override async Task OnInitializedAsync() {
Data = await FileSystemDataProvider.GetRootItemsAsync();
}
Task TreeList_ChildrenLoadingOnDemand(TreeListChildrenLoadingOnDemandEventArgs e) {
var item = e.Parent as FileSystemDataItem;
e.Children = item.Children;
return Task.CompletedTask;
}
}
新的HTML编辑器

DevExpress Blazor HTML编辑器允许您格式化/显示文本和可视化内容,并将其存储为HTML或Markdown。用户可以应用内联格式,并根据需要修改字体、大小和颜色。此外,DevExpress Blazor HTML编辑器提供以下集成功能:

  • 块格式,包括标题、文本对齐、列表(项目符号和编号)、代码块和引号。
  • 变量支持(例如,{{companyName}}):在其他用例中,此功能可用于生成动态电子邮件内容。
  • 具有自适应布局支持的工具栏。
  • 内置工具栏自定义。
  • 图片插入:可以从本地文件系统上传图片,也可以指定URL。
  • 表格支持。
  • 提示支持。
DevExpress Blazor UI v24.1产品图集

标签:控件,DevExpress,组件,v24.1,数据源,TreeList,Blazor,节点
From: https://www.cnblogs.com/AABBbaby/p/18308812

相关文章

  • python gradio 页面控件
    1、textbox的使用importgradioasgrimportrequestsdefmobile(mobilephone):url='https://api.oioweb.cn/api/common/teladress?mobile='+str(mobilephone)headers={}payload={}response=requests.request("GET",url,......
  • DevExpress WPF中文教程 - 为项目添加GridControl并将其绑定到数据
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......
  • Windows图形界面(GUI)-DLG-C/C++ - 静态控件(Static)
    公开视频-> 链接点击跳转公开课程博客首页-> ​​​​​​链接点击跳转博客主页目录静态控件(Static)控件样式消息处理实例代码静态控件(Static)控件样式文本(Text):用来显示文本信息。可以是简单的一行文本或者复杂的格式化文本。图标(Icon):用来显示一个小图标,常用......
  • DevExpress WinForms自动表单布局,创建高度可定制用户体验(一)
    使用DevExpressWinForms的表单布局组件可以创建高度可定制的应用程序用户体验,从自动安排UI控件到按比例调整大小,DevExpress布局和数据布局控件都可以让您消除与基于像素表单设计相关的麻烦。P.S:DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务......
  • C# WinForm框架入门与基本控件使用详解
    一.Winform入门​WinForm是WindowsForm的简称,是基于.NETFramework平台的客户端(PC软件)开发技术,一般使用C#编程。在VS2019中,C#WinForm编程需要创建「Windows窗体应用程序」项目。Windows窗体应用程序是C#语言中的一个重要应用,也是C#语言最常见的应用。使用......
  • 如何更好的优化 ListView 控件的性能
    ......
  • 【Qt Designer用Frame设置背景图片】不影响其它组件小技巧,控件层级设置,组件的继承
    QtDesigner用Frame设置背景图片、颜色不影响其它组件小技巧,控件层级设置,组件的继承在设置背景时,遇到一个问题,例如用frame当最后一层设置背景,加载资源图片后,会使frame内部组件继承相同格式,很麻烦。原语句用法border-image:url(:/images/login.png);内部组件会出现父......
  • 【WPF控件样式】
    自定义弹窗单选框CheckBox扁平化<Stylex:Key="CheckBoxStyle1"TargetType="{x:TypeCheckBox}"><SetterProperty="BorderThickness"Value="1"/><SetterProperty="Template"><Setter.V......
  • 演示:【Avalonia-Controls】Avalonia皮肤,主题,自定义控件,数据库,系统模块资源库
    一、目的:分享一个Avalonia皮肤,主题,自定义控件,数据库,系统模块资源库开源地址:GitHub-HeBianGu/Avalonia-Controls:Avalonia控件库Nuget包地址:NuGetGallery|PackagesmatchingHeBianGu.AvaloniaUI.演示视频地址:【Avalonia-Controls】Avalonia工具组件皮肤库v1.0.0_......
  • 【QT】容器类控件
    容器类控件1.GroupBox2.TabWidget1.GroupBox使用QGroupBox实现⼀个带有标题的分组框。可以把其他的控件放到里面作为⼀组。这样看起来能更好看⼀点。注意,不要把QGroupBox和QButtonGroup混淆.(之前在介绍QRadionButton的时候提到了QButtonGroup)......