【发布时间】:2013-12-11 10:38:38
【问题描述】:
我希望创建一个 if 语句来检查 uitable 中逻辑列的特定单元格是真还是假。因此,如何检查逻辑单元格状态(单击按钮时,未显示)?
脚本:
% Table
c1 = rand(10,3);
h = uitable('Units','normalized', 'Position',[0 0 1 1], 'Data',c1);
%# add new column of check boxes to table
c2 = c1(:,1)>0.5;
set(h, 'Data',[num2cell(c1) num2cell(c2)], 'ColumnFormat',[repmat({[]},1,size(c1,2)),'logical'], 'ColumnEditable',[false(1,size(c1,2)),true])
【问题讨论】:
-
不确定我是否遇到了问题,...您可以随时通过
get(h, 'Data')获取当前表格内容,就像您在上面设置它一样代码。这有什么问题吗? -
我想知道被点击的复选框的行号(第 4 列)。
-
你需要设置
CellSelectionCallback,它返回行和列的索引。然后在回调函数中通过get(yourUItablehandle, 'Data')获取完整数据并使用之前获得的索引对其进行寻址。 -
谢谢。您能否解释一下如何使用 CellSelectionCallback。是否可以在 Button_Callback 中使用它,因为我的主要想法是选择将被保存的行。再次感谢。
-
@thewaywewalk 我想应该是
CellEditCallback!?
标签: matlab matlab-uitable