Main Content

在 App 中使用树显示数据

此示例中的 App 从电子表格中导入患者数据,并将其显示在树中。该树以层次结构显示医院和患者。选择树中的患者节点可显示该患者的信息。当 App 用户编辑患者数据时,App 会与用户确认更改,然后更新存储的数据。

此示例演示以下 App 构建任务:

  • 加载和存储数据。

  • 使用树来组织数据。

  • 创建确认对话框。

加载和存储数据

要在树中显示数据,首先创建一个私有属性 Data 来存储患者数据。在 startupFcn 回调中,将数据从电子表格加载到一个表中。然后将患者数据存储在 Data 属性中,以便您可以在 App 代码的不同部分访问它。

t = readtable("patients.xls");
app.Data = t;

使用树组织和显示数据

创建一个具有节点的树来显示存储的数据。本节描述两种向树组件添加节点的方法,具体取决于节点是手动创建的还是从存储的数据动态创建的:

  • 设计视图中以交互方式创建节点。

  • 在回调函数中以编程方式创建节点。

设计视图中,将一个树组件拖到 App 画布上。要向树中添加更多节点,请选择其中一个节点,然后按树左侧的加号按钮。使用此方法创建三个医院节点。

对于依赖用户交互或存储的数据的节点,您也可以在运行时向 startupFcn 代码中动态添加树节点。例如,在运行时,此 App 根据存储的患者数据在每个医院节点下动态添加子节点。查询同一医院的所有患者,在对应的父节点下创建一个患者节点。例如,在 CountyGeneralHospital 树节点下,添加此医院的患者的所有子节点。

uitreenode(app.CountyGeneralHospitalNode,"Text",lastname);

用对话框确认用户编辑

为了确认用户对表数据的编辑,请使用 uiconfirm 创建一个确认对话框。例如,在 AgeEditFieldValueChanged 回调函数中确认数据更改,如果更改已确认,则更新存储的数据。

confirm = uiconfirm(app.PatientsMedicalSurveyUIFigure,"Change Patient Age?","Confirm Change");
patientName = app.Tree.SelectedNodes.Text;
if strcmp(confirm,'OK')
     app.Data.Age(patientName) = app.AgeEditField.Value;
% Otherwise, revert change
else
     app.AgeEditField.Value = app.Data.Age(patientName);
end

如果您尝试更改 Age 编辑字段,将会出现确认对话框。

另请参阅

函数

属性

相关主题