geplaatst door: Willemien
in een NSTableView wil ik in een kolom een NSTextFieldCell of een NSButtonCell (aankruisvakje) gebruiken, afhankelijk van de inhoud van de regel. de inhoud van de kolommen is met bindings aan een NSArrayController geknoopt.
met - (NSCell *)tableView:(NSTableView *)tableView dataCellForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row van NSTableView kan ik een NSButtonCell teruggeven.
de buttoncellen tonen keurig de juiste waarde maar wijzigen gaat niet. het aankruisvakje doet zijn best en highlight wel als ik er op klik maar er komt geen vinkje in. de regels met een textcell zijn wel te wijzigen.
als ik het omkeer en de kolom in de tableview een buttoncell geef en in dataCellForTableColumn een textcell teruggeef kunnen alleen de buttoncellen worden gewijzigd en de textcellen niet. ik heb het idee dat de binding voor textcellen en buttoncellen op een andere manier getriggerd wordt en omdat de binding voor de hele kolom geldt werkt of de textcell of de buttoncell.
enig idee wat ik gemist heb? of werkt dit niet zomaar en moet ik zelf de data wijzigen als er op een buttoncell wordt geklikt? dat zou ik toch een beetje gebrekkig vinden van cocoa.
verschillende cellen in kolom in NSTableView
20 juli 2008 - 18:15    reactie #1
geplaatst door: stijnschoor
Weet je zeker dat je alles goed "gebind" hebt?

Het is nogal moeilijk om het probleem zo op te sporen zonder de code te zien, als je het project upload kan ik er naar kijken

(Bewerkt door stijnschoor om 21:15, 20-07-2008)

(Bewerkt door stijnschoor om 21:24, 20-07-2008)

"What's in a name that we call a mac"
Shakespeare
verschillende cellen in kolom in NSTableView
23 juli 2008 - 15:33    reactie #2
geplaatst door: Willemien
fijn dat je even mee wilt kijken.
ik heb regelmatig problemen met bindings, het is dus best mogelijk dat er iets niet goed is, maar omdat de data wel juist wordt weergegeven en de tekstvelden wel werken kan het niet heel erg fout zijn.
hier is een testprojectje dat het probleem demonstreert: http://willemien2008.googlepages.com/testbinding.zip
er is nog iets vreemds: als bij de systeemvoorkeuren bij toetsenbord en muis is ingesteld dat met tab alle regelaars mee mogen doen en je tabt door de regel dan verschijnt er in plaats van het aankruisvakje een niet werkend tekstveld.
verschillende cellen in kolom in NSTableView
24 juli 2008 - 20:26    reactie #3
geplaatst door: stijnschoor
Beste Willemien

Zodra ik terug ben van vakantie zal ik er naar kijken.

Vlak nadat ik antwoord gaf vroeg ik me af of je wel eens van Core Data hebt gehoord. Deze technologie van Apple stelt je in staat om makkelijk data programma´s (vandaar Core DATA) te maken zonder veel code. Zelf heb ik ooit een projectje gemaakt zonder een regel code te gebruiken.
Nadeel: het werkt veel met bindings maar gelukkig heeft apple een duidelijke video documentatie

(zoek op google naar: ¨Core Data Video¨)

Over je laatste vraag heb ik geen idee

Stijn
P.S. Als je vragen over Core Data hebt vraag maar

"What's in a name that we call a mac"
Shakespeare
verschillende cellen in kolom in NSTableView
28 juli 2008 - 00:32    reactie #4
geplaatst door: Willemien
beste Stijn,

ik gebruik Core Data, maar niet in dit venster. de problemen die ik met Core Data had heb ik op weten te lossen door flink in de documentatie te spitten (het duurde wel even voor ik daar de weg wist, ik had over het hoofd gezien dat je in de titels en de tekst kan zoeken). er zijn nog wel een paar dingen die ik niet voor elkaar krijg maar daarvan staat in de documentatie dat het niet kan. best leuk dus dat Core Data, maar soms een beetje beperkt.

verschillende cellen in kolom in NSTableView
28 juli 2008 - 15:46    reactie #5
geplaatst door: stijnschoor
Ik heb naar je project gekeken. Helaas heb ik 10.4 dus kan ik de interface builder bestanden niet bekijken. Ook het bouwen kan ik niet

Suggestie:

Op regel 29 van TestArrayController.m staat [buttonCell setButtonType:NSSwitchButton];
kan je dat veranderen in [buttonCell setButtonType:NSRadioButton];?

"What's in a name that we call a mac"
Shakespeare
verschillende cellen in kolom in NSTableView
29 juli 2008 - 01:00    reactie #6
geplaatst door: Willemien
als ik NSSwitchButton wijzig in NSRadioButton dan krijg ik een radioknop die net zo slecht werkt als het aankruisvak, met precies dezelfde verschijnselen. het is tenminste wel consequent verkeerd.
verschillende cellen in kolom in NSTableView
29 juli 2008 - 16:41    reactie #7
geplaatst door: stijnschoor
Dan is het wel goed verkeerd!(denk ik)

Nee sorry, dat was dom

Ik weet niet of je dit al in je code hebt staan [TableColumn setDataCell:buttonCell];
//Op de plaats van TableColumn de naam van de rij van de NSButtonCell

Ik weet niet of het werkt maar je kan het proberen.
(Ik weet zelfs niet of de method toegepast kan worden)

(Bewerkt door stijnschoor om 19:44, 29-07-2008)

"What's in a name that we call a mac"
Shakespeare