1

--UPDATE--Comment faire pour que le CellSelectionCallback matlab-uitable réponde à plusieurs clics consécutifs dans la même cellule?

J'ai découvert que le uitable n'enregistre pas un 'second clic' quand t.ColumnEditable = true. Lorsque cela est vrai, MATLAB attend que vous déselectionniez la cellule pour commencer à enregistrer de nouveaux clics. Par conséquent, tout ce temps, il s'attend à ce que les nouveaux clics soient modifiés dans la cellule. Transformer t.ColumnEditable en false et les clics consécutifs s'enregistrent en tant que nouvelles actions.

-

Le CellSelectionCallback ne semble enregistrer les clics dans les nouvelles cellules. Par exemple, les seuls suivants affiche « src » et « événement » au cours du premier clic à une cellule particulière:

close all; 
f = figure('Position',[50,62,1340,326],'Units','pixels'); % set figures so they're stacked 
f.Name = 'Debugging table'; 
t = uitable(f,'Units','normalized','Position',[.05,.05,.9,.9]); 
t.CellSelectionCallback = @cellSelected; 
t.ColumnName = {}; 
t.RowName = {}; 
t.Data = magic(10); 
t.FontSize = 10; 
t.FontName = 'AppleGothic'; 
function [src,event] = cellSelected(src,event) 
    src 
    event 
end 

Quelqu'un peut-il fournir une méthode qui bifurque de quelque chose comme ce qui permettrait le code à l'intérieur « cellSelected 'exécuter sur plus d'un clic consécutifs à une seule cellule dans l'actif? Merci d'avance.

Répondre

0

--UPDATE--

J'ai découvert que le uitable n'enregistre pas un 'second clic' quand t.ColumnEditable = true. Lorsque cela est vrai, MATLAB attend jusqu'à ce que vous déselectionniez la cellule pour commencer à enregistrer de nouveaux clics. Par conséquent, tout ce temps, il s'attend à ce que les nouveaux clics soient modifiés dans la cellule. Transforme t.ColumnEditable en false et les clics consécutifs s'inscrivent en tant que nouvelles actions qui déclenchent indépendamment la fonction de rappel cellSelected.

-