[MATLAB App Desinger] 树(Tree)与表(UITable)的结合应用

学习自官方示例:

《App That Displays Data in a Hierarchy Using Tree - 使用树以层次结构显示数据的App》
https://ww2.mathworks.cn/help/matlab/creating_guis/display-items-in-a-tree-app-or-gui.html

一、用途

Tree主要用来有层次的显示数据,就像一层一层的文件夹
其效果也像sql数据库中表的显示

二、与UITable的结合

官方示例中是每一个节点(Node)对应一个病人的信息,但他信息的展示是通过多个可编辑字段实现的。而我做的App需要点击每个节点时,在UITable中显示对应的数据

1、回调函数的添加

需要选中整个Tree的框,右键添加回调函数。如图所示有多种类型的回调函数,目前我所用到的为SelectionChangedFcn回调。另外三种回调暂时没用到也不了解,等用到再作记录。

2、回调函数的编写

等添加了SelectionChangedFcn回调,会自动生成一条代码。此时的selecteNodes变量,即将用户所选择的节点的名称,保存在Text属性中

selectedNodes = app.Tree.SelectedNodes;  

(1)仅有一个节点时
当用户所选择的节点下,再无子节点时,即显示对应的数据。

if isempty(selectedNode.Children)         % 如果选中的节点无子节点
	app.UITable.Data  = app.Data;          %此处的Data为之前导入的,希望显示在UITable中的数据
end

(2)当有多个节点
可以用switch语句,对不同的节点显示不同的数据。

selectedNode = app.Tree_quota.SelectedNodes;
 if isempty(selectedNode.Children)         % 如果选中的节点无子节点
	switch selectedNode.Text
		case '节点1'
			app.UITable_Quota.Data = app.Data1;
		case  '节点2'
			app.UITable_Quota.Data = app.Data2;
		case '节点3'
			app.UITable_Quota.Data = app.Data3;
	end                
end

三、实现效果

在这里插入图片描述

四、扩展应用

可以通过添加“Add”和"Delete"按钮,对UITable中选中的数据进行增删

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值