Этот пример показывает, как составить таблицу в приложении с помощью функции uitable. Это также показывает, как изменить внешний вид таблицы и как ограничить редактирование таблицы в запущенном приложении.
Функция uitable составляет пустую таблицу. Можно заполнить таблицу путем установки свойства Data. Например, можно составить таблицу, содержащую значения магического квадрата.
f = figure('Position', [100 100 752 250]); t = uitable('Parent', f, 'Position', [25 50 700 200], 'Data', magic(10))

t =
Table with properties:
Data: [10x10 double]
ColumnWidth: 'auto'
ColumnEditable: []
CellEditCallback: ''
Position: [25 50 700 200]
Units: 'pixels'
Show all properties
Отобразите смешанные типы данных путем установки свойства Data на массив ячеек.
load patients LastName Age Weight Height SelfAssessedHealthStatus % load data PatientData = [LastName num2cell([Age Weight Height]) SelfAssessedHealthStatus]; % convert to cell array t.Data = PatientData;

Можно настроить отображение таблицы несколькими способами. Используйте свойство ColumnName добавить заголовки столбцов. Чтобы создать многострочные заголовки, используйте канал (|) символ.
t.ColumnName = {'LastName', 'Age', 'Weight', 'Height', 'Self Assessed|Health Status'};
Чтобы настроить ширины столбцов, задайте свойство ColumnWidth. Свойство ColumnWidth является массивом ячеек 1 на n, где N является количеством столбцов в таблице. Установите определенную ширину столбца или позвольте MATLAB® установить ширину на основе содержимого.
t.ColumnWidth = {100, 'auto', 'auto', 'auto', 150};
Чтобы удалить имена строки, установите свойство RowName на пустой массив ([]).
t.RowName = [];

Измените размер таблицы и удалите любое дополнительное пространство с помощью свойства Position.
t.Position = [15 25 495 200];

По умолчанию таблицы используют чередование строки. Чтобы выключить чередование строки, установите свойство RowStriping на 'off'. Чтобы управлять цветами дорожек, выберите два различных цвета для свойства BackgroundColor. Используйте свойство ForegroundColor управлять цветом текста.
t.BackgroundColor = [.4 .4 .4; .4 .4 .8]; t.ForegroundColor = [1 1 1];

Чтобы ограничить способность пользователя отредактировать данные в таблице, установите свойство ColumnEditable. По умолчанию данные не могут быть отредактированы в приложении. Установка свойства ColumnEditable к true для столбца позволяет пользователю редактировать данные в том столбце.
t.ColumnEditable = [false true true true true];

Средства управления свойством ColumnFormat, как данные отображены и отредактированы. Чтобы задать выбор в выпадающем списке, задайте массив ячеек векторов символов как формат столбца. В этом примере Сам Оцененный столбец Состояния здоровья имеет выпадающий список, содержащий четыре опции: Excellent, Fair, Good и Poor.
t.ColumnFormat = {[] [] [] [] {'Excellent', 'Fair', 'Good', 'Poor'}};
Объект Table имеет два обычно используемых обратных вызова. CellSelectionCallback выполняется, когда пользователь выбирает различную ячейку. CellEditCallback выполняется, когда пользователь изменяет значение в ячейке.
t.CellEditCallback = @ageCheckCB;
Например, если вы хотите, чтобы столбец Возраста содержал значения между 0 и 120, установите CellEditCallback на функцию, такую как этот:
function ageCheckCB(src, eventdata)
if (eventdata.Indices(2) == 2 && ... % check if column 2 (eventdata.NewData < 0 || eventdata.NewData > 120)) tableData = src.Data; tableData{eventdata.Indices(1), eventdata.Indices(2)} = eventdata.PreviousData; src.Data = tableData; % set the data back to its original value warning('Age must be between 0 and 120.') % warn the user end
end
Если пользователь вводит значение, которое является вне приемлемой области значений, функция обратного вызова возвращает предупреждение и задерживает значение ячейки к предыдущему значению.
Чтобы видеть все свойства таблицы, используйте команду get.
get(t)
BackgroundColor: [2x3 double]
BeingDeleted: 'off'
BusyAction: 'queue'
ButtonDownFcn: ''
CellEditCallback: @ageCheckCB
CellSelectionCallback: ''
Children: [0x0 handle]
ColumnEditable: [0 1 1 1 1]
ColumnFormat: {[] [] [] [] {1x4 cell}}
ColumnName: {5x1 cell}
ColumnWidth: {[100] 'auto' 'auto' 'auto' [150]}
CreateFcn: ''
Data: {100x5 cell}
DeleteFcn: ''
Enable: 'on'
Extent: [0 0 479 1740]
FontAngle: 'normal'
FontName: 'Helvetica'
FontSize: 10
FontUnits: 'points'
FontWeight: 'normal'
ForegroundColor: [1 1 1]
HandleVisibility: 'on'
InnerPosition: [15 25 495 200]
Interruptible: 'on'
KeyPressFcn: ''
KeyReleaseFcn: ''
Layout: [0x0 matlab.ui.layout.LayoutOptions]
OuterPosition: [15 25 495 200]
Parent: [1x1 Figure]
Position: [15 25 495 200]
RearrangeableColumns: 'off'
RowName: ''
RowStriping: 'on'
Tag: ''
Tooltip: ''
Type: 'uitable'
UIContextMenu: [0x0 GraphicsPlaceholder]
Units: 'pixels'
UserData: []
Visible: 'on'