Soit la sélection d'une rangée par un seul click. Elle s'affiche avec un fond bleu.
Comme exercice nous allons afficher un message avec le nom et le prix.
Pour cela il faudra :
Le code se trouve dans on clicked theObject dans le bloc exécuté pour le tableau. Block reconnu par la commande if .
on clicked theObject
if (the name of theObject is "notesTableView") then
Ne pas oublier d'affecter le "clicked" au tableau.
set notesTablePointeur to table view "notesTableView" of scroll view "notesScrollView" of window "Main"
notesTablePointeur contiendra "table view id 4 of scroll view id 3 of window id 1".
set selectedDataRows to selected data rows of notesTablePointeur
selectedDataRows contiendra "{data row id 19 of data source id 12}".
Notez bien les { } qui indique que c'est une liste. Dans ce cas la liste n'a qu'un élément. C'est néanmoins une liste. Il faudra donc s'adresser à item 1 of selectedDataRows.
C'est le cas d'un click en dehors du tableau.
if (count of selectedDataRows ) > 0 then
set uneLigne to item 1 of selectedDataRows
Résultat :
{|Col5|:"", |Col6|:"", |Date|:date "vendredi 7 décembre 2007 0:00:00", |Prix|:69, |Description|:"Editeur de CSS & HTML", |Name|:"Coda"}.
C'est le moment de rassembler vos souvenirs en AppleScript entre une liste d'élément et une liste de record. Le résultat est une liste de record. L'ordre n'a pas d'importance, les données sont référencées par leurs noms.
Pour obtenir le nom et le prix faisons :
set leNom to |Name| of laLigne
set lePrix to |Prix| of laLigne
Prenez garde aux "|" qui indiquent que c'est un record.
Le raccourci est alt+majuscule+b
Pour afficher faisons :
display dialog leNom & " coûte " & lePrix & " €"
Pour obtenir la visibilité du "log" cliquez sur dans xCode.
Je n'ai pas laissé le code dans l'application pour éviter le message à chaque fois que vous cliquerez dans le tableau. Le voici, pour copier/coller et vous exercer.