NSTableView : modifier la ligne courante par programmation

Bonjour



Je cherche, via un slider, à  modifier la ligne sélectionnée d'un tableView et donc que cette ligne soit apparente ds le rectangle formé par tableView. Par exemple, j'ai 80 lignes mais la taille du tableView ne permet d'afficher que 10 lignes. Avec le slider, je veux que la ligne 70 soit la "current row" et qu'elle soit visible (donc les ascenseurs de tablView sont descendus).

Pour connaitre la ligne sélectionnée, j'ai fait [tableVue selectedRow] mais donc, je ne trouve pas l'inverse du type [tablVue setSelectedRow] ou [tablVue setCurrentRow].



Quelqu'un pour m'aider ?

merci d'avance

Réponses

  • mpergandmpergand Membre
    août 2012 modifié #2
    selectRow:byExtendingSelection:

    Selects a row at a given index, optionally extending any existing selection. (Deprecated in Mac OS X v10.3.

    - (void)selectRow:(int)rowIndex byExtendingSelection:(BOOL)flag



    selectRowIndexes:byExtendingSelection:

    Sets the row selection using indexes.

    - (void)selectRowIndexes:(NSIndexSet *)indexes byExtendingSelection:(BOOL)extend
  • [tableVue selectRowIndexes:[NSIndexSet indexSetWithIndex:70] byExtendingSelection:NO];
  • génial



    merci à  tous les 2



    En revanche, la ligne sélectionnée n'est pas replacée au visu sur la vue du tableView : si le tableView affiche les 10 premières lignes, le fait de "dire" je sélectionne la ligne 70 ne réajuste pas la vue : je reste sur les 10 premières lignes. Bref, maintenant, comment puis je afficher cette ligne 70 au milieu de cette vue ?



    merci encore
  • mpergandmpergand Membre
    août 2012 modifié #5
    scrollRowToVisible:



    Scrolls the receiver vertically in an enclosing NSClipView so the row specified by rowIndex is visible.

    - (void)scrollRowToVisible:(int)rowIndex



    Je vais finir par recopier toute la doc image/rolleyes.gif' class='bbc_emoticon' alt='::)' />
  • image/happy.png' class='bbc_emoticon' alt='^_^' /> désolé mpergand. J'ai regarder cette doc depuis ce matin et je suis complètement passé à  coté. Pourtant, c'était évident

    Bon, je vais mettre ça sur le compte de la fatigue !!!



    merci encore
Connectez-vous ou Inscrivez-vous pour répondre.