使用几个popupmenues不同的行

时间:2014-10-21 15:01:47

标签: matlab popupmenu matlab-uitable matlab-java

使用GUIDE生成ui-table。要使用以下代码(例如)将弹出菜单插入到ui-table中:

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

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

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

1 个答案:

答案 0 :(得分:-1)

如果我理解正确,您需要设置' ColumnEditTable'在创建表时,所选列的属性为true,并且根据您指定的columnformat,您可以获取弹出菜单或复选框。例如,请考虑此代码,我将其修改为doc(look here

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',[]);

表格如下:

enter image description here

如您所见,您可以选择“嗨”。或者'你好'在第一列和“固定'或者'可调节'在最后一栏。

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