Index datagrid

Résolu
nixounet Messages postés 17 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 2 avril 2007 - 12 mars 2007 à 13:12
hicham_899 Messages postés 43 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 1 mars 2011 - 28 juin 2007 à 16:13
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

nixounet Messages postés 17 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 2 avril 2007
13 mars 2007 à 09:58
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?
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
13 mars 2007 à 10:06
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# 
0
nixounet Messages postés 17 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 2 avril 2007
13 mars 2007 à 10:35
ui mais je suis donc obliger de faire une requette à chaque modification de position?
0
nixounet Messages postés 17 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 2 avril 2007
13 mars 2007 à 10:50
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?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nixounet Messages postés 17 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 2 avril 2007
14 mars 2007 à 13:05
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?
0
nixounet Messages postés 17 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 2 avril 2007
14 mars 2007 à 13:12
sur mon bouton sauver j'ai fait ca:

dgMenu.Update();

DataTable ds = (
DataTable)dgMenu.DataSource;sda.Update(ds);
0
hicham_899 Messages postés 43 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 1 mars 2011
28 juin 2007 à 16:13
comment utiliser MoveLast au C#

merci pour tous
0
Rejoignez-nous