• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Editierbare Tabelle streikt?!

LeBensch

Jonagold
Registriert
08.07.09
Beiträge
19
Hallo,

folgendes Problem: ich habe eine NSTableView, in welcher die einzelnen Zellen editierbar sind. Darunter befinden sich pro Zeile u.a. Checkbox- und TextCells. Wie ich gelesen habe, wird die zugrunde liegende Datasource ja automatisch geändert, wenn ich Änderungen an den Zellen vornehme. Im Fall von Checkboxcells funktioniert dies wunderbar, bei TextCells streikt das Ganze (Textcell einzeln geändert - im entsprechenden Datacell der verknüpften Datasource steht nach wie vor der alte Wert). Ändere ich eine Checkbox UND eine Textcell in einer Zeile, dann funktioniert allerdings alles wunderbar.

Wie ich gelesen habe, benötigt man ja keine entsprechenden Handler mehr. Ist das so korrekt?
Falls doch, wieso funktioniert es dann mit manchen Elementen, wie z.B. der Checkboxcell?

Vielen Dank und beste Grüße
LeBensch
 
Frage: Sprechen wir wieder von ASS oder Cocoa?

Viele Grüße
 
ASKDataSource ist das Zauberwort.

Siehe Anhang.

Um es zu verstehen > klicke auf das Objekt der Klasse ASKDataSource > InfoPalette > Outlets

Viele Grüße

PS: Viel Spass beim Knobeln von Speichern und Lesen :-p
 

Anhänge

Hallo,

@LittlePixel: Danke für deine Antwort, fast genauso hatte ich es auch gemacht, Lösung war dann aber ein Bug an anderer Stelle.

Jetzt bleibt allerdings dennoch folgendes Problem:
ändert man eine TextCell und klickt danach auf den "Save"-Button der Anwendung, bleibt der Focus ja auf der gerade geänderten TextCell (mit blinkendem Cursor = Editiermodus der Cell). Da die Änderungen erst im DataSource gespeichert werden, NACHDEM die TextCell nicht mehr den Focus hat, suche ich nun nach einer Möglichkeit, den Focus VOR dem Speichern von der Cell zu nehmen. Bin bisher aber nicht fündig geworden. Jemand ne Idee?

Viele Grüße
LeBensch
 
Hallo,

Ich glaube bei ASS dürfte das jemand sehr klein sein ;-)

den Focus VOR dem Speichern von der Cell zu nehmen

Code:
set first responder of front window to theObject

"theObject" ist das Objekt, das jetzt in der ResponderChain ganz vorne ist.
Nimm einfach den Button, der geklickt wird.

Ich hoffe nur, dass auch der Setter von der TextCell zuvor aufgerufen wird.
Sollte aber...

Viele Grüße
 
Ist auch der Wert in der Zelle up to date?
Hast Du das geprüft?

Ich vermute ja, aber sicher ist sicher ;-)

Viele Grüße