我有从 AScii 文件读取的数据的 Uitable。
我想使用鼠标和复选框来选择列。我尝试了很多,但我无法弄清楚如何使用鼠标选择合适的列并获取该数据。
我也试图在 uitable 的最后一行插入复选框,所以当用户选择复选框时,会选择特定的列。
任何的想法?
我有从 AScii 文件读取的数据的 Uitable。
我想使用鼠标和复选框来选择列。我尝试了很多,但我无法弄清楚如何使用鼠标选择合适的列并获取该数据。
我也试图在 uitable 的最后一行插入复选框,所以当用户选择复选框时,会选择特定的列。
任何的想法?
要处理对列标题的点击,必须去无证区域:
%# old UITABLE (based on Swing JTable, instead of the new JIDE-based)
[hTable,hContainer] = uitable('v0', 'Parent',gcf, ...
'Data',magic(7), 'ColumnNames',cellstr(num2str((1:7)','C%d'))');
set(hContainer, 'Units','normalized', 'Position',[0 0 1 1])
%# handle mouse clicks on table headers
jTableHeader = hTable.getTable().getTableHeader();
h = handle(jTableHeader, 'CallbackProperties');
set(h, 'MousePressedCallback',...
@(src,evt) disp( src.columnAtPoint(evt.getPoint())+1 )) %# zero-based index
您应该编辑表格的CellSelectionCallback
和CellEditCallback
属性。
set(myTable,`CellSelectionCallback`,@CallBack)
为了查看选择了哪些列/行,请使用您在回调中收到的事件数据。
function CallBack(hObj,evt)
disp(evt);
end
据我所知,当未触发回调时,无法发现当前选择了哪些列。