Matlab GUI 中的table如何获取动态数据?

2025-03-01 22:14:37
推荐回答(3个)
回答1:

在matlab GUI中,可以在回调函数中,直接利用get函数获取table的数据及其列名。假设GUI的名称为test,则会自动生成test.fig和test.m文件。

  1. 在GUI界面编辑文件test.fig中拖入一个table控件,设置其tag为uitable1(默认)。

  2. 在对应的M文件test.m的回调函数(如按钮的回调函数)中,添加如下代码(此处以将table中数据写入xls文件为例)。

[FileName PathName Index] = uiputfile('*.xls', '文件另存为', datestr(now, 29));
if Index == 1   % 如果窗口没关
    dt = get(handles.uitable1, 'data');  % 获取表格数据 
    colname = get(handles.uitable1, 'columnname'); % 获取表格的列名
    data1 = [colname'; dt];  % 将表格的列名和对应的数据连起来
    str = [PathName, FileName]; % 将要保存的文件的路径赋值给str
    xlswrite(str,data1);   % 将修改后的表格写进Excel表格中,以Excel的形式保存
end

回答2:

1 table1_data = get(h_uitable1,'data');
2 table1_data是一个cell, table1_data(:,1)表示第一列
这个是我看别人写的。发给你参考一下。
例如table的句柄时h,那么数据就是
h.Data
如果是2014a或者更早版本可以用get:
get(h,'Data')
或者先转化为句柄:
h = handle(h);
h.Data
td=handles.table(:,1);
m=mean(td);
set(handles.edit_mean, 'string', m);
这里的handles.table应该才相当于h

回答3:

SqlConnection con = new SqlConnection
con.Open();
string sqlstr = "sql语句";
SqlDataAdapter da = new SqlDataAdapter(sqlstr, con);
DataSet ds= new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
con.Close();