Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Deplacer row dans datagridview [ Windows / Formulaire / Winforms / Controls ] (olibara)

samedi 8 mars 2008 à 22:11:15 | Deplacer row dans datagridview

olibara

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 ?

samedi 8 mars 2008 à 22:29:13 | Re : Deplacer row dans datagridview

coq

Administrateur CodeS-SourceS
Salut,

Une colonne de "rang" sur laquelle est triée la vue ?



/*
coq
MVP Visual C#
CoqBlog
*/

samedi 8 mars 2008 à 22:43:54 | Re : Deplacer row dans datagridview

olibara

C'est plus subtil

Oui j'ai une colonne de rang sur laquelle je trie la vue (lors du query order by)
Mais je voudrais proposer a l'utilisateur deux boutons up / down

Permettant de déplacer la row selectionnée vers un  rang superieur ou inférieur
Et un peu de magie aussi pour modifier le rang a la volée (mais ca c'est une autre cuisine)
Chemin faisant il peut reorganiser ses assiettes (la tour de hanoi)

Mais je te vois venir ...
Tu pense travailler sur la valeur du rang et retrier a la volée ?

samedi 8 mars 2008 à 22:53:49 | Re : Deplacer row dans datagridview

coq

Administrateur CodeS-SourceS
Oui, sur une colonne dédiée à cette tâche si nécessaire.
A moins que l'ordre d'affichage n'aie aucune importance pour le restant du traitement, mais de toute façon je ne vois pas d'autre moyen (mais je suis loin de maitriser la personnalisation dece genre de contrôle).



/*
coq
MVP Visual C#
CoqBlog
*/

dimanche 9 mars 2008 à 00:52:14 | Re : Deplacer row dans datagridview

olibara

C'est pas une mauvaise idée !

Je vais creuser
Et si je trouve autre chose je communique !


dimanche 9 mars 2008 à 11:23:46 | Re : Deplacer row dans datagridview

olibara

Salut coq,

J'ai intellectuellement muri ta solution (pas encore vraiment mis en oeuvre)
mais je la trouve plaisante

Car a mon avis ca doit pouvoir marcher avec un DGV bindé
Et que dans les faits on ne fait pas plus ni moins que ce que l'on veut pratiquement faire (changer un ordre de tri)

Et il ne faut pas changer les valeur dans toute la colonne

Exemple

1 toi
2 moi
3 lui
4 pomme
5 poire
6 tomate

Si tu veux remonter pomme sur lui
Tu inverse seulement 2 valeurs pomme=3, lui=4
On retrie et hop !!
Et ainsi de suite
BIEN ENTENDU il faut disabler les tris sur click en colonne header

L'avantage a mon avis (mais il faut essayer) c'est aussi que si on travaille avec un datagridview bindé on pourrais ajouter cette colonne et la traiter indépendemment des data réellement bindées


dimanche 9 mars 2008 à 11:31:13 | Re : Deplacer row dans datagridview

coq

Administrateur CodeS-SourceS
Réponse acceptée !
Oui c'était l'idée générale :-)



/*
coq
MVP Visual C#
CoqBlog
*/

dimanche 9 mars 2008 à 12:08:20 | Re : Deplacer row dans datagridview

olibara

Salut

Ajout d'une colone non bindée : OK (mais au design, je dois encore digerer comment faire au run time)
Ajout d'un ordinal dans la colonne : OK
Test si la colonne ne perturbe pas le bind OK (jusqu'a la mise a jour utilisant MySqlCommandBuilder)

Maintenant

Je dois organiser le tri sur la colonne et disabler le tri sur les autres : au run time
Je dois definir un comparer pour ma colonne ?
As tu qq conseil


dimanche 9 mars 2008 à 12:34:12 | Re : Deplacer row dans datagridview

coq

Administrateur CodeS-SourceS
Je ne sais pas, je n'ai jamais eu à creuser aussi "profond" quand j'ai eu besoin de ce contrôle.
Par contre logiquement le comparer par défaut, celui pour Int32 en toute logique, devrait suffire.



/*
coq
MVP Visual C#
CoqBlog
*/

dimanche 9 mars 2008 à 13:09:49 | Re : Deplacer row dans datagridview

olibara

Rewind !!

Impossible de trier sur une colonne non bindée

C'est pas grave je truque et je cree une colonne bidon dans mon datasource

Et puis je trie

DGV.Sort(DGV.Columnd[n],ListSortDirection.Ascending)

Mais maintenant, j'aimerais trouver l'indice du current row selectionné histoire de trouver faciliment celui au dessus et celui en dessous (rien n'est simple)


1 2

Cette discussion est classé dans : datagridview, deplacer, row


Répondre à ce message

Sujets en rapport avec ce message

Comment determiner si un row datagridview a été modifié. [ par olibara ] Bonjour, Je cherche s'il existe une methode "magique" au moment du RowLeave pour determiner si une row de DGV a été modifiée Faire une copie du r Cherche un row dans un datagridview [ par olibara ] BonsoirEst il possible de trouver est selectionner rapidement un row dans un datagrridview sur base d'une valeur a chercher dans une colonne ?Mon data Datagridview RowEnter != currentRow [ par olibara ] BonjourJ'ai un probleme de detection de Row selectée dans un DataGridViewJe pensais naivement pouvoir utiliser l'évenement RowEnter pour utiliser les DataGridView [ par Morgan_2956 ] Bonjour,J'utilise un datagridview et je trouve que c'est mal foutu pour la gestion des font, des filtres de row et columns, ... On peut utiliser un da Aide pas a pas pour faire un update Mysql depuis datagridview [ par olibara ] BonjourJ'apprends a developer en C# (mais je connais parfaitement le C)J'ai trouvé asser facilement comment utiliser Mysql connector pour ouvrir une c DataGridView et jagged tab [ par raph8277 ] Comment binder un tab[x][y] pour le faire apparaitre dans un datagridview.Ou comment faire  apparaitre un tableau déchiqueté dans un datagridview. Tri checkbox column dans datagridview [ par olibara ] BonjourJ'ai un datagridview dont le datasource est un dataset issu d'un select sqlAu design j'ai ajouté une colonne check boxJe ne parviens pas a trie Datagridview ,ligne colorée. [ par souvent ] Bonjour, j'ais un petit souci, j'affiche des donnees d'une table dans un datagridview .Les lignes modifiées sont colorées .Dans ma table j'ais un cham Tester une cell d'un datagridview est vide [ par olibara ] BonjourJe cherche toujours la maniere efficace de tester si une cellule d'un datagridview est vide !!ContexteA chaque rowenter, je prends une valeur d Mise à jour Dataset depuis dataGridView + rowFilter [ par brixi69 ] Bonjour !J'ai beau chercher je ne parviens pas à trouver une solution à mon problème et j'espère que quelqu'un pourra "lairer ma lanterne.J'ai un data


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.