UITable Matlab - 访问特定单元格

时间:2015-04-08 01:12:25

标签: matlab uitableview indices

我使用以下代码获取所选单元格的行索引:

row = eventdata.Indices(1);

我也可以通过将1更改为2来获取列索引。但是我希望能够在该特定行中获取我想要的任何单元格的内容,而无需用户实际单击该特定单元格而是在任何位置在那一行。让我们说我想从第一列获取数据,在我的例子中代表ID。

在伪代码中,它看起来像:

x = getRowOfSelectedCell
field = Indices(x,1);

假设所选行为5.变量字段将包含第5行第一列中单元格的值。

任何想法如何进行?

1 个答案:

答案 0 :(得分:1)

怎么样:

function ScriptTest

d = rand(10,7);
t = uitable('Data', d,  'Units', 'norm', 'Position', [0,0,1,1]);

RequiredColumnIndex = 5;
set( t, 'CellSelectionCallback', {@TableSelectionCB, RequiredColumnIndex});

function TableSelectionCB(hTable, eventdata, RequiredColumnIndex)
    rowIndex = eventdata.Indices(1);
    TableData = get(hTable,'Data');

    field = TableData(rowIndex, RequiredColumnIndex);
    fprintf(' Value in cell [Row %d /Col %d ] is %f \n',  rowIndex, RequiredColumnIndex, field);
end

end

在这里,我决定检索第5列中的数据(如您所建议的),并在命令窗口中打印相应的单元格值。