3

要生成一个 ui 表,我正在使用 GUIDE。要将弹出菜单插入到 ui 表中,我使用以下代码(例如):

data = {1;2;3,'A';'B';'C'}   
set(handles.uitable,'ColumnFormat',{'1','2','3'},'char',data)

然后我将在 ui 表的每一行中获得相同的弹出菜单。但我希望在 ui-table 的不同行中有不同的弹出菜单,如下图所示。

http://images.undocumentedmatlab.com/uitable_lookup.png

4

1 回答 1

0

如果我理解正确,您希望在创建表格期间将选定列的“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',[]);

该表如下所示:

在此处输入图像描述

如您所见,您可以在第一列中选​​择“Hi”或“Hello”,在最后一列中选择“Fixed”或“Adjustable”。

希望它能让你开始,它有点你想要的!

于 2014-10-21T15:22:38.577 回答