在MATLAB GUI中将按钮链接到Table

时间:2014-08-26 07:31:05

标签: database matlab matlab-figure

我正在尝试链接我创建的GUI界面中的按钮,以便在使用简单SELECT语句从数据库中提取的表中显示结果。问题是,我似乎无法弄清楚如何将按钮与表格功能联系起来。

目前,我已经编写了这样一种方式,它运行单独的功能并打开单独的GUI窗口,但我试图最小化程序打开的窗口数量。

代码:按钮功能

function pushbutton1_Callback(hObject, eventdata, handles)

我设法将按钮链接到我通过dbExtract构建的回调函数(例如GUI Builder -> Inspector)。该函数创建另一个窗口以显示数据库的结果。代码和图片如下:

代码:

function conn = dbExtract()

%# add class path (if not in the class path)
    p = 'C:\FatherSon\ojdbc6.jar';
    if ~any(ismember(javaclasspath,p))
        javaaddpath(p)
    end

conn = database('xxx','xxx','xxxxxxx123','oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:@//10.10.10.10:7001/xxx');
check_connection = isconnection(conn)
sample = exec(conn,'SELECT * FROM xxx.TABLE1');
sample2 = fetch(sample);


% Table Figure plotted when data is retrieved from the database from the query above   
f = figure('Position',[200 200 1300 500]); % size of the figure object
dat = dyn_conformer.Data;
set(f,'name','Father & Son War Room','numbertitle','off') %renames the Title Figure
cnames = {'Title1','Title2','Title3'};
rnames = {'1','2','3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20','21', '22', '23', '24', '25'};
t = uitable('Parent',f,'Data',dat,'ColumnName',cnames,... 
            'RowName',rnames,'Position',[10 100 1150 370]);

图片: enter image description here

问题: 如何链接按钮以在单个窗口中显示这些结果,如下图所示(想法)?最重要的是,我希望能够在同一窗口中显示结果并具有按钮功能,如下所示:

理念:

enter image description here

当我通过GUI builder-> Inspector

创建表格时,没有回调函数字段

我希望得到一些帮助。

1 个答案:

答案 0 :(得分:0)

不要在dbExtract()中创建新的图形,而是尝试使用gobf(获取回调图)来获取原始图形/窗口的句柄。然后使用find()函数在该图中找到你的uitable。获得原始uitable的句柄后,您可以设置其数据。如果你还没有,那么创建一个并将父设置为gcbf。