Table View

Stel, je hebt in interface builder een NSTable toegevoegd aan het venster… hoe ga je vanaf dan te werk om iets in die tabel te krijgen ? (met applescript)

Om een lang verhaal kort te maken, ik heb vele dingen geprobeerd, gespiekt in andere progjes maar het wil maar niet lukken !!! :x

Eerlijk gezegd heb ik geen idee hoe je dit met AppleScript doet; heb je al gekeken of er vergelijkbare voorbeelden staan op [url]http://developer.apple.com/samplecode/AppleScript/index.html[/url]?

ik heb het ondertussen al gevonden…

toch bedankt :wink:

Er staat geen antwoord in deze topic dus zet ik het er even op voor de mensen die het antwoord willen weten.

Dit is de code voor een table view met twee colomen (standaard) en de invoer via een data source

[code:1:5e77356bce]
on awake from nib theObject
if the name of theObject is equal to "table" then
– even een lijst aan maken om ook resultaat te laten zien
set thelist to {{"item 1", "item2"}, {"item11", "item12"}}
–eerst een lege data source aan maken
set thedatasource to make new data source at end of data sources with properties {name:"test"}
–de velden (kolommen) bepalen
make new data column at end of data columns of thedatasource with properties {name:"kolom1"}
make new data column at end of data columns of thedatasource with properties {name:"kolom2"}
–nu hebben we een data source die in de table view geplaats kan worden
–voordat het in de table view geplaatst wordt de datasource eerst gevuld
repeat with theitem in thelist
–lege rij aanmaken
set theRow to make new data row at end of data rows of thedatasource
– in deze nieuwe lege rij de contents bepalen
set contents of data cell "kolom1" of theRow to item 1 of theitem
set contents of data cell "kolom2" of theRow to item 2 of theitem
end repeat
–de data source is ingevuld
–alleen nog de ingevuld data source in de table view plaatsen
set the data source of theObject to thedatasource
–de data source is nu zichtbaar in je table view
end if
end awake from nib[/code:1:5e77356bce]

Wat gemakkelijker is is de data source maken, en daarna het "append" commando gebruiken.

Voorbeeld om de lokale servers in een lijst te zetten:

[code:1:689668846d]set localServers to list folder “Network” without invisibles
append theDataSource with localServers[/code:1:689668846d]
Natuurlijk kan je het leuker maken door een NSProgressIndicator toe te voegen, de items in de tabel op alfabetische volgorde zetten en zo voort, maar dit is de basis die ik telkens bij een NSTableView gebruik. Je moet dan wel eerst een data source aangemaakt hebben zoals in het voorbeeld van ‘dj bazzie wazzie’.

Dank je wel bit... is inderdaad heel makkelijk

Inderdaad, veel rapper én gemakkelijker. En effecient :). Alstublief :mrgreen: