Matlab将子表中的选定行数据添加到父表

时间:2013-11-19 14:40:30

标签: matlab matlab-uitable

我在我的第一个图GUI1中有一个表和一个按钮,它将打开一个带有GUI2的新窗口。如何在matalab中,在表格GUI1中添加表2中所选行的行数据。

我首先尝试使用tihis方法选择行号:

function cellSelect(src,evt)
    index = evt.Indices;
    if any(index)           
        rows = index(:,1);
        set(src,'UserData',rows);
    end
end

对于

要在两个窗口之间共享数据,但我不知道如何正确使用它:

b=get(handles.edit2,'String');

setappdata(0,'ReturnText',b);

1 个答案:

答案 0 :(得分:1)

我没有时间尝试,GUI问题总是非常耗时,所以我只能给你一些代码行。

在第一步中,您需要为每个表提供一个标记名称:

f1  = figure;       %first figure
t1 = uitable(f1);   %first table
set(t1,'Tag','TableOne');
f2  = figure;       %second figure
t2 = uitable(f2);   %second table
set(t2,'Tag','TableTwo');

现在,您可以在回调函数中找到您的表并访问其数据:

function cellSelect(src,evt) 

index = evt.Indices; %get index of desired row 
row = index(1,1);

t1 = findobj('Tag','TableOne'); 
data1 = get(t1,'Data');
rowdata = data1(row,:);

t2 = findobj('Tag','TableTwo'); 
data2 = get(t2,'Data');
set(t2,'Data',[data2;rowdata]);

end