Использование нескольких всплывающих меню разных строк
Для создания пользовательского интерфейса я использую GUIDE. Чтобы вставить всплывающее меню в пользовательский интерфейс, я использую следующий код (например):
data = {1;2;3,'A';'B';'C'}
set(handles.uitable,'ColumnFormat',{'1','2','3'},'char',data)
Тогда я получу одно и то же всплывающее меню в каждой строке пользовательского интерфейса. Но я хочу иметь разные всплывающие меню в разных строках пользовательского интерфейса, как показано на рисунке ниже.
1 ответ
Если я правильно понял, вы хотите установить для свойства ColumnEditTable выбранных столбцов значение true во время создания таблицы, и в зависимости от указанного вами формата столбца вы можете получить всплывающие меню или флажки, например. Рассмотрим этот код, который я изменил сформировать документ (смотри здесь)
function MyTable
f = figure('Position',[300 300 400 400]);
% Column names and column format
columnname = {'Greeting','Amount','Available','Fixed/Adj'};
columnformat = {{'Hello' 'Hi'},'bank','logical',{'Fixed' 'Adjustable'}}; %// Set the entries of the popup menu in a cell array. When the format is 'logical', the output in the table is a checkbox.
% Define the initial displayed data
d = {'Hi' 456.3457 true 'Fixed';...
'Hello' 510.2342 false 'Adjustable';...
'Hi' 658.2 false 'Fixed';};
% Create the uitable
t = uitable('Data', d,...
'ColumnName', columnname,...
'ColumnFormat', columnformat,...
'ColumnEditable', [true false true true],... %// That's the important line. Entries set to true will allow you to create a popup menu for the whole column.
'RowName',[]);
Таблица выглядит так:
Как видите, вы можете выбрать "Привет" или "Привет" в первых столбцах и "Фиксированный" или "Настраиваемый" в последнем столбце.
Надеюсь, это поможет вам начать, и это то, что вы хотели!