Bonjour
Je cherche la methode la plus éléguante de déplacer un row up / down dans un datagridview
Le datagridview est bindé a une datatable
Quelqu'un a une idée ?
Bonjour
Je cherche la methode la plus éléguante de déplacer un row up / down dans un datagridview
Le datagridview est bindé a une datatable
Quelqu'un a une idée ?
J'ai eu ce besoin justement très récemment et j'ai posé cette même question et n'ai pas eu vraiment de réponse...
Voici le lien vers ce post avec la solution que j'ai trouvé : post 504201
Si tu trouve une solution plus élégante je suis preneur![]()
Si tu a lié ton DGV avec un bindingsource
Si tu a ajouté dans ta datatable une colonne de valeurs disons un integer ordinal
Tu a setté le sort du binding source sur cette colonne (qui a mon avis peut etre cachée dans le dgv)
Up et Down et tu swape les valeurs
J'ai pas essayé mais je trouve l'idée amusante
J'ai bricolé un petit test et ca semble bien marché
Bien entendu il ne faut pas que l'utilisateur clique sur une autre colonne pour retrier le dgv
Mais ca c'est vrai dans TOUS les cas pour ce type d'action, je pense qu'il faut disabler le sort par user click sinon ca sert a rien de se casser le noeud a reorganiser les row chirurgicalement si d'un coup de souris l'utilisateur innocent peu tout casser !!
En réalité je fais une copie de la row entiere que je souhaite déplacer (soit celle qui est sélectionnée). Une fois la copie effectuée, je supprime la ligne sélectionnée, puis j'insère la copie à la ligne d'indice voulu (selon le Up ou le Down)
ps : bien entendu le tri des colonnes est désactivé... Je ne l'avais pas précisé dans mon post![]()
Salut
Oui j'avais bien compris ce que tu faisais mais c'est ce que je trouve comme toi un peu lourd
Que pense tu de mon idée d'utiliser un tri automatique sur une colonne complémentaire cachée (ou pas) dont tu swappe les valeurs
Partager