Ich möchte, dass bei einem Klick auf eine Zelle die ganze Zeile markiert wird. Der Benutzer soll so einfach Datensätze auswählen, die jeweils in Zeilen dargestellt sind. Wenn nur eine Zelle markiert ist, funktioniert das zwar auch, verwirrt aber den Benutzer.
Ich habe leider noch keine möglichkeit gefunden, über den Code die Marierungen zu setzen. Kann mir da jemand ein Tipp geben?
Das geht leider nicht mit Matlab allein. Du könntest mit findjobj (kannste beim Matlab file exchange runterladen) die Javacomponente finden und dann beim Javaobject das passende Property setzten. Einzufügen in deiner Opening fcn wenn du mit GUIDE arbeitest (du kannst natürlich auch mehrere Propertys beeinflussen, wie unten im Beispiel beschrieben):
Code:
set(hObject,'Visible','on')% figure muss sichtbar sein
j3 = findjobj('property',{'UIClassID','CellSpanTableUI'});% Tabelle suchen set(j3,'sortable',1,...% sortierbar
'sortingEnabled',1,...% dafault sortier method
'nonContiguousCellSelection',0,...
'cellSelectionEnabled',0,...% einzelne Zeillen selektierbar
'rowSelectionAllowed',1,...% einzelne Zeilen selektierbar
'columnSelectionAllowed',0,...% einzelne Spalten selektierbar
'autoResizeMode',2,...% Breite der Tabelle wird automatisch angepasst
'rowResizable',1,...% Breite der Zeilen vom User anpassbar
'rowMargin',2,...% Breite der Zeilenlinien (alternativ intercellSpacing [1 1] für beide Linienarten)
'Name','ÜbersichtsTabelleOktavDatei');
set(j3.SelectionModel,'SelectionMode',0); % Multiselection 'off' (nur eine Zeile auf mal selektierbar) drawnow
Alternativ müsstest du dafür eine Matlab listbox benutzen, wobei du dann den textinhalt entsprechend Formatieren müsstest, dass es so aussieht wie eine Tabelle...
Ich bekomme nun kein CellSelectionCallback mehr wenn ich auf eine Zeile der Tabelle klicke. Über diesen Callback habe ich mir die Indices der markierten Zellen geholt, die in eventdata übergeben werden.
Die Indices in eventdata habe ich mir in die handles Struktur eingefügt damit ich diese in anderen Callbacks zur Verfügung habe. Das passiert jetzt aber nicht mehr.
Wie komm ich nun an die Indices der markierten Zellen bzw. Zeile?
Zu beachten ist, dass Java bei 0 anfängt zu zählen nicht wie Matlab bei 1.
Greetings
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.