Auteur de questions
DataGidView multiligne dans une cellue

Discussion générale
-
Bonjour,
dans un DataGidView quand on appuie sur la touche entrée, il passe à la ligne suivante. Moi je voudrais qu'il change de ligne dans la même cellule.
Je ne me rappelle plus comment faire.
Merci
- Type modifié Aurel Bera lundi 25 mars 2013 14:46 Discussion
- Type modifié Aurel Bera lundi 25 mars 2013 14:46 Discussion
Toutes les réponses
-
Bonjour,
Ce n'est pas possible nativement. Il faut créer une classe qui hérite de DataGridView, et redéfinir la méthode ProcessKeyPreview().
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.processkeypreview(v=vs.110).aspx
Dans cette méthode, vous pouvez changer la logique afin de passer à une autre cellule lors de l'appuie sur la touche Enter.Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 -
Bonjour,
En fait, il faut redéfinir la méthode ProcessCmdKey : http://msdn.microsoft.com/en-us/library/system.windows.forms.control.processcmdkey.aspx
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 -
Bonjour,
j'ai mis la commande mais ça fait pareil. Je suppose qu'il faille mettre en plus :
ProcessKeyPreview(...) = True
Mais je ne sais pas où ni comment l'écrire ? Que faut-il mettre à la place des ... ?
Toutefois, je ne sais pas comment j'ai fait, ça change de ligne quand j'appuie sur la touche MAJ + Entrée. La touche Entrée seule fait changer de ligne.
Merci pour vos réponses.
-
Bonjour,
Avec la combinaison Shift + Entrée, j'arrive à entrer une nouvelle ligne. Seulement voilà, la première ligne disparait momentanément le temps que j'écris. Quand j'ai fini, je vois les 2 lignes dans la cellule. J'ai mis : DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders
Je souhaiterais que la ligne soit AutoSize au moment ou j'ajoute une ligne (ou que j'en supprime). Je ne connais pas l'évènement qui peut me faire ça.
Merci
- Modifié Michel56100 mercredi 20 mars 2013 21:12
-
Bonjour,
Essayez d'utiliser les événements :
UserAddedRow : http://msdn.microsoft.com/fr-fr/library/system.windows.forms.datagridview.useraddedrow(v=vs.80).aspx
UserDeletedRow : http://msdn.microsoft.com/fr-fr/library/system.windows.forms.datagridview.userdeletedrow(v=vs.80).aspx
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 -
Bonjour,
ça ne marche pas ! Je voudrais que la hauteur de la ligne s'agrandi ou rapetisse pendant l'édition dans une cellule en fonction des lignes au sein de ladite cellule..
DataGridView1.AutoSizeRowsMode ne fonctionne qu'après que l'on est sorti de la cellule.
Merci
- Modifié Michel56100 jeudi 21 mars 2013 08:54
-
Bonjour,
Dans ce cas, essayez les événements :
CellBeginEdit : http://msdn.microsoft.com/fr-fr/library/system.windows.forms.datagridview.cellbeginedit.aspx
CellEndEdit : http://msdn.microsoft.com/fr-fr/library/system.windows.forms.datagridview.cellendedit.aspx
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 -
-
Bonsoir
Il vous reste toujours la solution mettre le DataGridView en ReadOnly et de utiliser une autre forme pour les modifications sur la ligne.
J'ai essayé plusieurs solutions, mais aucune ne fonctionne comme vous voulez.
Ici vous avez quelques informations sur ce sujet :
http://msdn.microsoft.com/fr-fr/library/74b2wakt.aspx
Cordialement,
-