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 中打印相应的单元格值。
我正在使用以下代码获取所选单元格的行索引:
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 中打印相应的单元格值。