This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

uitable

Create table user interface component

Syntax

uit = uitable
uit = uitable(Name,Value)
uit = uitable(parent)
uit = uitable(parent,Name,Value)

Description

uit = uitable creates a table user interface component in the current figure and returns the Table UI component object. If there is no figure available, MATLAB® calls the figure function to create one.

uit = uitable(Name,Value) specifies property values of the Table UI component using one or more name-value pair arguments.

example

uit = uitable(parent) creates the table in the specified parent container. The parent container can be a figure created with either the figure or uifigure function, or a child container such as a panel. Property values for uitable vary slightly depending on whether the app is created with the figure or uifigure function. For more information, see Name-Value Pair Arguments.

example

uit = uitable(parent,Name,Value) specifies the parent container and one or more property values.

Examples

collapse all

Create a Table UI component that displays a 3-by-10 array of random integers. The Data property specifies the values to display, and the Position property specifies the location and size of the table within the figure.

f = figure;
uit = uitable(f,'Data',randi(100,10,3),'Position',[20 20 262 204]);

Table UI components can accommodate a mixture of different data types across the columns.

Create an empty Table UI component.

f = figure;
uit = uitable(f);

Set the Data property to populate the data as a cell array that contains a mixture of different types. Then set the Position property to adjust the location and size of the table to fit the data.

d = {'Male',52,true;'Male',40,true;'Female',25,false};
uit.Data = d;
uit.Position = [20 20 258 78];

Set the ColumnName property to change the column headings to descriptive names. Set the ColumnEditable property to true so that users can edit the data in the UI. When a user changes a value in the UI, the Data property updates to reflect that change.

uit.ColumnName = {'Gender','Age','Authorized'};
uit.ColumnEditable = true;

Starting in R2018a, you can display table array data in a Table UI component. This type of data is supported only when the Table UI component is in a figure created with the uifigure function. App Designer uses this type of figure for creating apps.

Create table array t by calling the readtable function to read data from a file. Select four variables and 15 rows from t.

t = readtable('patients.xls');
vars = {'Age','Systolic','Diastolic','Smoker'};
t = t(1:15,vars);

Create a Table UI component, and specify t as the data.

f = uifigure;
uit = uitable(f,'Data',t);

Starting in R2019a, you can sort the columns of a Table UI component that has table array data stored in its Data property. This type of data is supported only when the Table UI component is in a figure created with the uifigure function. App Designer uses this type of figure for creating apps.

Display table array data and update the plot when a user sorts the columns or edits the cells.

First, create a program file called tsunamisData.m. Within the program file:

  • Create a table array by calling the readtable function.

  • Create a sortable and editable Table UI component to display in a figure. Store the table array to component's Data property.

  • Specify a DisplayDataChangedFcn callback that uses the DisplayData property to update the plot when a user sorts columns or edits cells in the Table UI component.

function tsunamisData
t = readtable('tsunamis.xlsx');
vars = {'Year','MaxHeight','Latitude','Longitude'};
t = t(1:20,vars);

uf = uifigure;
uf.Position(3:4) = [822 360];

uit = uitable(uf);
uit.Data = t;
uit.ColumnSortable = [false true true true];
uit.ColumnEditable = true;
uit.Position(3) = 375;
uit.DisplayDataChangedFcn = @updatePlot;

ax = uiaxes(uf);
ax.Position(1) = 415;
ax.YLabel.String = 'Max Height';
x = t.Year;
y = t.MaxHeight;
area(ax,x,y)

    function updatePlot(src,event)
        t = uit.DisplayData;
        x = t.Year;
        y = t.MaxHeight;
        area(ax,x,y)
    end

end

A sortable column displays arrows in the header when you hover your mouse over it. Find a sortable column and sort the table. Notice how the displayed data and the plot update after sorting.

Input Arguments

collapse all

Parent container, specified as a figure created with either the figure or uifigure function, or a child container:

  • Panels, tabs and button groups can be containers in either type of figure.

  • Grid layouts can be containers only in figures created with the uifigure function.

Name-Value Pair Arguments

Example: 'Data',[1 2 3; 4 5 6]

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments as Name1,Value1,...,NameN,ValueN.

You can set Table properties using Name-Value pair arguments.

  • For a list of properties available for GUIDE, or for creating apps with the figure function, see Table Properties for GUIDE.

  • For a list of properties available for App Designer, or for creating apps with the uifigure function, see Table Properties for App Designer.

Introduced in R2008a