【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并创建行

相关推荐
ricky6754 天前
[Linux]Linux系统的20个实用命令详解
ue5
AA陈超5 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P05-01.创建游戏玩法标签
c++·游戏·ue5·游戏引擎·虚幻
reddingtons6 天前
场景美术师的“无限画板”:UE5中非破坏性的材质混合(Material Blending)工作流
ue5·材质·设计师·技术美术·游戏策划·游戏美术·substance
m0_552200826 天前
《UE5_C++多人TPS完整教程》学习笔记61 ——《P62 武器开火特效(Fire Weapon Effects)》
c++·游戏·ue5
努力的小钟6 天前
UE5 GAS GameAbility源码解析 EndAbility
ue5
AA陈超6 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P05-04 使用效果应用游戏标签
c++·游戏·ue5·游戏引擎·虚幻
zhangzhangkeji6 天前
UE5 测量 -1,长度测量:P2制作定位球与定位线,P3制作射线检测节点,P4在鼠标位置生成定位球
ue5
AA陈超8 天前
虚幻引擎UE5专用服务器游戏开发-33 在上半身播放组合蒙太奇
c++·游戏·ue5·游戏引擎·虚幻
zhangzhangkeji8 天前
cesium126,230130,Editing Tileset Materials - 0,编辑瓦片集材质,官方教程:
ue5
zhangzhangkeji8 天前
cesium126,230131,区域局部染色:赋值材质实例,建立“材质图层混合”文件,建立裁剪多边形,并应用自己的材质实例
ue5