uitable控件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文件 dataExcel(1, :) = cloumnName; %获取表格列名 dataExcel(2:end, :) = data; %获取表格数据 xlswrite(str, dataExcel); %将新单元数组写入指定的 EXCEL 文件中
end
③保存 GUI 及其 M 文件,运行 GUI,结果如图 6.49 所示。
图 6.49 例 6.1.11 运行结果
指定表格的行是否采用彩色条纹模式 表格对象的标识符 表格对象的右键菜单 表格位置的计量单位
指定表格是否可见
有效属性值(n 为表格单元的列数) 1×3 或 2×3 阶的 RGB 矩阵,值在 0,1 之间 函数句柄、函数句柄和附加参数组成的 单元数组、可执行字符串 函数句柄、函数句柄和附加参数组成的 单元数组、可执行字符串 1×n 的逻辑矩阵、标量逻辑值、{空矩 阵} 字符串单元数组,默认值为空矩阵 1×n 的字符串单元数组|{'numbered'}|空 矩阵 1×n 的单元数组、{'auto'} 数值矩阵、逻辑值矩阵、数值单元数组、 逻辑值单元数组、字符串单元数组 {on}、inactive、off 1×3 的 RGB 颜色矩阵、颜色字符串 可执行字符串或函数句柄
ColumnFormat ColumnNames
ColumnWidth Data
Enable ForegroundColor KeyPressFcn
Position RearrangeableColumns RowName
RowStriping Tag UIContextMenu Units
Visible
6.1.18 表格(Table)
表格由 uitable 函数创建,用于数据的可视化。uitable 对象常用的属性见表 6.14。
表 6.14 uitable 对象常用的属性
属性 BackgroundColor
CellEditCallback
CellSelectionCallback
ColumnEditable
str = [pName fName]; %获取文件的完整路径和文件名 cloumnName = get(handles.table, 'ColumnName'); %获取表格的列名 data = get(handles.table, 'data'); %获取表格的数据 dataExcel = cell(size(data, 1)+1, size(data, 2)); %创建一个新单元数组,准备将其写入 EXCEL
同理,点击左侧的 Data,得到设置表格数据的页面;点击左侧的 Colors,得到设置背 景颜色、条纹颜色和表格数据颜色的页面。
【例 6.1.11】编写一个 GUI,读取如图 6.47 所示的 EXCEL 文件 data.xls,并将其显示 在 uitable 对象中,要求:
(1)将文件 data.xls 中的第 1 行显示为列名; (2)鼠标选中单元格时,uitable 对象右边显示该单元格的行、列、数据等信息; (3)修改完表格数据后,点击【保 存】按钮,将表格中的数据存为 EXCEL 文件。
%% 读取 Excel 文件 data.xls [~, ~, raw] = xlsread('data.xls'); %% 消除 NaN 项的显示 for i = 1 : numel(raw) %遍历单元数组 raw
if isnan(raw{i}) %若单元值为 NaN,设置该单元值为空字符串 raw{i} = '';
uitable 对象,并打开其属性查看器,点击 ColumnFormat 属性前面的 图标,得到如图 6.45
所示的属性编辑框:
图 6.45 uitable 对象的列相关属性编辑框
点击图 6.45 左列的 Rows,得到设置列名的页面。如图 6.46 所示。
图 6.46 uitable 对象的行相关属性编辑框
%% 获取行数并显示 mLine = eventdata.Indices(1);
set(handles.mLine, 'String', num2str(mLine)); %% 获取列数并显示 nColumn = eventdata.Indices(2);
set(handles.nColumn, 'String', num2str(nColumn)); %% 获取单元格的数据并显示 data = get(hObject, 'data'); %获取表格数据 iVal = data{mLine, nColumn}; %获取当前单元格的数据 set(handles.iVal, 'String', num2str(iVal)); %显示当前单元格的数据
属性描述 表格单元的背景色或条纹色
修改表格单元值时执行的回调函数
表格单元被选中时执行的回调函数
指定用户是否可以编辑列
表格单元的显示格式 指定表格列名,默认为 1、2、3…
表格每列的宽度,单位为像素 表格数据
使能或禁用表格 单元内文本的颜色 当在表格上按下任意键时执行的回调函 数 指定表格的大小和位置 指定表格数据是否可按列重新排列 表格的行头名称
raw 的第 1 行需要设置为 uitable 的列名;鼠标选中单元格时,uitable 对象右边显示该单 元格的行、列、数据等信息,这可以通过设置表格的 CellSelectionCallback 回调函数,将当 前单元格的信息显示到静态文本或可编辑文本中;数据的保存,可以采用 xlswrite 函数,将 表格的 data 写入 EXCEL 文件中。
end
end %% 将数据显示到表格 table 中,并使表格处于“可编辑”状态 set(handles.table, 'ColumnName', raw(1, :), 'data', raw(2:end, :),...
'ColumnEditable', true);
b)在表格上单击鼠标右键,选择 View Callbacks→CellSelectionCallback,在该回调函 数内编写如下代码:
例 6.1.11 的 GUI 布局
HorizontalAlignment→left; String→空字符串; Tag→iVal。 d)Push Button FontSize→10; String→保 存; Tag→btn_save。 ②编写回调函数。在 OpeningFcn 中读取 EXCEL 文件并显示到表格中;在表格 CellSelectionCallback 回调函数中,更新 Edit Text 的显示信息;点击【保 存】时,弹出文 件保存对话框,并将表格数据保存到指定的 EXCEL 文件中。 a)打开 GUI 的 M 文件,在 OpeningFcn 函数中添加以下代码:
[左 底 宽 高],单位由 Units 指定 on、{off} 1×n 的字符串单元数组|{'numbered'}|空 矩阵 {on}、off 字符串 右键菜单句柄 {pixels}、inches、normalized、points、 characters、centimeters {on}、off
uitable 对象的属性设置,与其它对象的属性设置有些不同。在 GUIDE Байду номын сангаас局区创建一个
步骤: ①打开 GUIDE 编辑器,创建 1 个 uitable、3 个 Static text、3 个 Edit Text 和 1 个 Push Button, 并将它们设置为适当大小,放在合适位置,如图 6.48 所示。
图 6.48
②设置属性: a)uitable FontSize→10; Tag→table。 b)第 1 个 Static text String→行; FontSize→10。 c)第 2 个 Static text String→列; FontSize→10。 d)第 3 个 Static text String→值; FontSize→10。 e)第 1 个 Edit Text FontSize→10; HorizontalAlignment→left; String→空字符串; Tag→mLine。 f)第 2 个 Edit Text FontSize→10; HorizontalAlignment→left; String→空字符串; Tag→nColumn。 g)第 3 个 Edit Text FontSize→10;
c)在【保存】按钮上单击鼠标右键,选择 View Callbacks→Callback,在该回调函数内 编写如下代码:
%% 创建文件保存对话框 [fName, pName, index] = uiputfile('*.xls', '另存为', 'data_1.xls'); %% 若没有点击【取消】按钮,且文件名为合法的 EXCEL 文件名,将表格数据写入该文件内 if index && strcmp(fName(end-3 : end), '.xls')
图 6.47 例 6.1.11 图
【解析】读取该 EXCEL 文件可采用以下语句:
[num, txt, raw] = xlsread('data.xls'); %读取 Excel 文件
其中的 raw 就是表格的数据。但是要注意,空的单元格在 raw 中显示为数值 NaN。我 们需要找出空的单元格,并将其值替换为空字符串。
相关文档
最新文档