Index datagrid

[Résolu]
Signaler
Messages postés
17
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
2 avril 2007
-
Messages postés
43
Date d'inscription
jeudi 6 mai 2004
Statut
Membre
Dernière intervention
1 mars 2011
-
Bonjour,
J'aimerais faire monter ou decendre les enregistrements dans un datagrid en pressant sur des boutons.

j'arrive à récupérer la valeur de l'index de ma ligne, mais comment faire pour lui attribuer une autre valeur par la suite?

Code :
int iIndex;
iIndex = int.Parse(dgMenu.CurrentRow.Index.ToString());
iIndex = iIndex -1;
dgMenu.CurrentRow.Index = iIndex ;

merci

27 réponses

Messages postés
17
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
2 avril 2007

Alors je vais t'expliquer ce que je voulais faire au départ.

Je voudrais charger des données dans un dataGridView à partir de ma base.

données:
pk            données
1               menu1
2               menu2
3               menu3

ensuite dans mon DataGridView, l'utilisateur peut sélectionner un ligne, puis presser sur un bouton pour faire monter la ligne donc ca nous donne :

données
    menu1
    menu3
    menu2

Puis enregistrer les données dans la base comme elles sont dans mon DataGridView
données:
pk            données
1               menu1
3               menu3
2               menu2

ce n'est pas possible?
comment ferais-tu?
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
54
Ok c'est ce que je pensais. En fait, modifier la position dans le DataGrid et enregistrer dans la base ne changera rien du tout ;)
Ce que tu dois faire, c'est ajouter une colonne "position" avec la position de la ligne. Dans le DataGridView, tu affiches ta table triée sur cette colonne. Et avec tes boutons, tu modifies les valeurs de ces colonnes puis tu enregistres dans ta table.
Mx
MVP C# 
Messages postés
17
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
2 avril 2007

ui mais je suis donc obliger de faire une requette à chaque modification de position?
Messages postés
17
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
2 avril 2007

et sinon si je change juste le champ position, il faut que je rafraichisse mon DataGrid pour que les lignes soit dans le bon ordre, alors comment faire si dans ma base je n'ai pas les même valeur?
Messages postés
17
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
2 avril 2007

Bonjour,
Tout marche pour le mieu merci mille fois!!
Il y a juste l'enregistrement, je n'arrive pas à le faire.

C'est possible que je n'ais pas de DataSet sur mon dataGrid?
Messages postés
17
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
2 avril 2007

sur mon bouton sauver j'ai fait ca:

dgMenu.Update();

DataTable ds = (
DataTable)dgMenu.DataSource;sda.Update(ds);
Messages postés
43
Date d'inscription
jeudi 6 mai 2004
Statut
Membre
Dernière intervention
1 mars 2011

comment utiliser MoveLast au C#

merci pour tous