【UE5】 ListView使用DataTable数据的蓝图方法

【UE5】 ListView使用DataTable数据的蓝图方法

ListView 是虚幻引擎中的一种用户界面控件,用于显示可滚动的列表。它可以用于显示大量的数据,并提供了各种功能和自定义选项来满足不同的需求。

DataTable是虚幻引擎中的一种数据表格结构,用于存储和管理复杂的数据。它可以被用于保存游戏中的角色属性、物品信息、关卡数据等等。
这里介绍,如何使用蓝图通过ListView读取DataTable里的属性内容。

1.DataTable的创建
  1. 创建结构体

创建结构体,用于定义DataTable的字段

在内容的空白处右击鼠标,选择Blueprints→Structure,命名后(这里命名为MyData)可以定义字段,这里的字段就是DataTable数据表的字段

  1. 创建DataTable

同样在空白处右击鼠标,选择Miscellaneous→DataTable,后会出现PickRowStructure窗口,让我们选择一个结构体,我们选择上面创建的结构体对应的名称

将数据表命名(这里命名为MyDataTable),到这里就可以看见创建的数据表里的字段是,我们之前定义的结构体

3)数据导入

建立一个csv表,将表头的命名对应为结构体的字段

csv的第一列必须为数字排序列。不能为结构体的字段名称,否则会丢失(如果中文出乱码,将csv的编码格式改为UTF-8)

同样,也可以将空的数据表导出为csv

对该CSV表重新编辑后重新导入

修改DataTableDetails的SourceFile路径可以改变导入表的地址

2.ListView的创建

1)创建UI控件

2)建立ListView

如下图拖入控件,提示需要创建Entry

Entry是列表是每一行的子UI蓝图。选中ListView,在Details窗口下,找到ListEntries,点击EntryWidgetClass的加号创建Entry或者选择已经创建的Entry

  1. 建立Entry

创建后可以看见ListView的显示正常

3.DataTable数据绑定

1)建立数据蓝图类

当给Entry赋值时,需要建立保存一行DataTable数据的蓝图类,既ltem

选择BuleprintClass

选择Object(命名为MyDataInfo)

创建可以与DataTable表里字段对应的变量

创建的变量勾选 instanceEditable(可编辑实例)和ExposeOnSpawn(生成时公开)用于蓝图赋值

2)创建Entry的赋值函数

新建函数命名为(UpdateData)

添加输入节点,类型为上文创建的数据蓝图类(MyDataInfo)

3)初始化ListView

选中ListView,在Details中的Events中添加OnEntryInitialized

4)将数据表绑定到ListView并创建行

相关推荐
远离UE43 天前
UE5 Substrate Thin Film 源码拆析
开发语言·javascript·ue5
七仔啊4 天前
UE5源码下载及编译
ue5
Zhichao_974 天前
【UE5.8 MCP】接入AI大模型
ue5
曼巴UE55 天前
UE 属性同步
网络·c++·ue5
易知微EasyV数据可视化7 天前
UE5中添加 PNG/TIF 到 Cesium 地球表面方案
经验分享·ue5·数字孪生
GR907 天前
UE5 SetActorLocation背后发生了什么
ue5
成都渲染101云渲染66668 天前
云渲染怎么用?从项目准备到提交出图,3ds Max、VRay、UE5 实用教程
3d·ue5
directx3d_beginner11 天前
42,将移向指定位置改为c++
ue5
ue星空14 天前
UE5放了playstart显示badsize解决方案
ue5
directx3d_beginner16 天前
41,从UE5.1迁移到UE5.8排坑全记录
ue5