J'ai une NSOutlineView et ce que je veux faire, c'est que lorsqu'une ligne est ajoutée, je veux que la ligne qui a été ajoutée commence à éditer immédiatement comme lorsque vous double-cliquez sur un rangée.Début de la modification d'une ligne dès qu'elle est ajoutée
Répondre
Une réponse psuedocode rapide:
Dans la méthode qui est appelée lorsque vous ajoutez une ligne:
- Créer le nouvel objet
- Ajouter à tout ce qui est le stockage des objets (un tableau, contrôleur d'arborescence, magasin de données, etc.)
- Recherchez dans le magasin l'index (numéro de ligne) de l'objet que vous avez ajouté. C'est là que vous obtenez le numéro de ligne qui est appelé: -
- appelez
-editColumn:row:withEvent:select:
comme dans la réponse de John Calsbeek.
Une fois que vous ajoutez la ligne, envoyer -editColumn:row:withEvent:select:
au NSOutlineView
:
[outlineView editColumn:0 row:newRowIndex withEvent:nil select:YES];
Ceci est en fait un message NSTableView
, mais depuis NSOutlineView
dérive de NSTableView
, il faut travailler pour les vues de plan aussi.
Ok. Alors devrais-je mettre le code dans la source de données de 'NSOutlineView'? Aussi comment pourrais-je le faire envoyer quand vous ajoutez une ligne? – Joshua
Vous enverriez ce message juste après l'envoi du message pour ajouter la ligne. –
Où est la méthode qui envoie le message pour ajouter une ligne? – Joshua
- 1. Renvoyez l'ID de la ligne ajoutée
- 2. Lorsqu'une nouvelle ligne dans la base de données est ajoutée, un programme de ligne de commande externe doit être appelé
- 3. XtraGrid n'affiche pas correctement la ligne nouvellement ajoutée
- 4. MySQL: savoir à quelle date une ligne a été ajoutée à une table?
- 5. Nouvelle ligne ajoutée à DataGridView ne pas afficher
- 6. Déclenchement d'une méthode lors de la modification d'une ligne dans une vue de table
- 7. La colonne CheckBox ajoutée dynamiquement est désactivée dans GridView
- 8. La valeur du paramètre Rails avec ancrage est ajoutée?
- 9. Quelle est la bonne façon d'obtenir la date de début et de fin d'un numéro de semaine ISO dans TSQL?
- 10. Sortir sur stderr dès que malloc/free est appelé
- 11. Quelle est l'équivoque CreateCriteria de cette ligne de code:
- 12. Fermeture de ModalPopupExtender dès son ouverture
- 13. Quelle est la syntaxe de la ligne de commande pour supprimer des fichiers dans Perforce?
- 14. La touche Accueil va-t-elle au début de la ligne dans Visual Studio?
- 15. Quelle est la taille maximale de la table SQL
- 16. SQL Server - Quelle est la date/heure de la dernière ligne insérée d'une table?
- 17. Les numéros de ligne dans StackTrace pointent vers le début de la méthode
- 18. Quelle est la différence?
- 19. Quelle est la meilleure façon d'analyser de nombreux arguments de ligne de commande complexes en Java?
- 20. Quelle est la meilleure façon de distribuer les outils de ligne de commande python?
- 21. OptionParser - supporte n'importe quelle option à la fin de la ligne de commande
- 22. Que signifie "Envelopper au début lorsque la fin est atteinte"?
- 23. Quelle est la meilleure façon de fournir une application de boutique en ligne à plusieurs clients?
- 24. Quelle est la différence entre la modification d'un contrôle en modifiant le modèle de contrôle et l'ajout de sous-contrôles?
- 25. Source.getLine - l'index de ligne, la première ligne est 1
- 26. image ajoutée dans l'option
- 27. Comment UIView est-il informé d'UIViewController d'une sous-vue ajoutée?
- 28. Quelle est la meilleure façon d'avoir stringTokenizer diviser une ligne de texte en variables prédéfinies
- 29. Quelle est la (meilleure) source en ligne pour apprendre l'API de script OpenOffice.org
- 30. Comment obtenir la valeur de la colonne dynamiquement ajoutée de datagridview au moment de la publication
Où est la méthode appelée lorsque vous ajoutez une ligne, sachant que mon application utilise des données de base? – Joshua
Cela dépend de la façon dont vous ajoutez une ligne. Si vous cliquez sur un bouton, où va le message? – Abizern
Cela va à l'action 'add' de mon NSTreeController. – Joshua