2

カレンダーから2つの日付を取得したい. matlab関数は

c = calendar

また

dates = calendar; 
dates(~any(dates,2),:) = []; 
fh = figure; 
uh = uitable('parent',fh,'data',dates,'ColumnWidth',repmat({20},1,7),...
          'ColumnName',{'S','M','T','W','T','F','S'});

しかし、ユーザーがクリックしたこれら2つの日付を取得する方法.

4

1 に答える 1

1

コールバック関数を作成します。

function cell_select_callback(h, ind)
    dates = get(h, 'data');
    d = dates(ind.Indices(1), ind.Indices(2));
    if d == 0
        return
    end
    dn = datenum(2012, 12, d); % you have to have year & month here
    fprintf('cell_select_callback(): click at [%d %d] on %s\n', ind.Indices(1), ind.Indices(2), datestr(dn));
return

そして uitable() 引数に追加します: uitable(..., 'CellSelectionCallback', @cell_select_callback).

押すと、 cell_select_callback はクリックの座標と日付を出力します。例: cell_select_callback(): click at [2 3] on 04-Dec-2012

于 2012-12-11T16:43:28.927 に答える