Matlab非常适合数据选择

时间:2012-06-19 14:39:36

标签: matlab user-interface matlab-guide matlab-uitable

我对从AScii文件读取的数据有Uitable。

  1. 我想使用鼠标选择列并使用复选框。我尝试了很多,但我无法弄清楚如何使用鼠标选择合适的列并获取该数据。

  2. 此外,我正在尝试在uitable的最后一行插入复选框,因此当用户选择复选框时,会选择特定列。

  3. 有什么想法吗?

2 个答案:

答案 0 :(得分:3)

要处理列标题的点击,必须转到undocumented territory

%# 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

screenshot

答案 1 :(得分:2)

您应该修改表格的CellSelectionCallbackCellEditCallback属性。

   set(myTable,`CellSelectionCallback`,@CallBack)

要查看选择了哪些列/行,请使用您在回调中收到的事件数据。

  function CallBack(hObj,evt)   
      disp(evt);
  end

据我所知,当没有触发回调时,无法发现当前选择的列。