UITable Matlab - 访问特定单元格

UITable Matlab - Accessing specific cell

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

row = eventdata.Indices(1);

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

在伪代码中它看起来像:

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

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

知道如何进行吗?

怎么样:

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 列中的数据(如您所建议的)并在命令 window 中打印相应的单元格值。