【问题标题】:Link a button to Table in MATLAB GUI将按钮链接到 MATLAB GUI 中的表
【发布时间】:2014-08-26 15:57:21
【问题描述】:

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

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

代码:按钮功能

function pushbutton1_Callback(hObject, eventdata, handles)

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

代码:

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]);

图片:

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

理念:

当我通过GUI builder-> Inspector创建表格时,没有回调函数字段

我将不胜感激。

【问题讨论】:

    标签: database matlab matlab-figure


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      相关资源
      最近更新 更多