IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Peut on inverser l'affichage d'un datagridview de bas en haut? [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 38
    Par défaut Peut on inverser l'affichage d'un datagridview de bas en haut?
    Salut tout le monde!

    Ça va bientôt faire deux heures (même plus ^^) que je cherche dans les options et que je cherche sur internet un moyen d'afficher un tableau datagridview en inversé. J'aime bien trouver les choses moi même mais là je m'avoue vaincu. Je vous explique que j'entre une donnée je clique sur un bouton j'ai bien une nouvelle entrée dans mon tableau mais qui s'affiche en bas, or j'aimerais afficher la dernière entrée en haut du tableau. Je pensais d'abord à une bête option mais je me rend compte que c'est plus compliqué que ça! Voilà vous êtes mon dernier secours! Merci d'avance!

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    c'est toi qui le rempli, donc il suffit de lui donner les données dans l'autre sens tout simplement

    si tu passes par une base de données tu peux faire un order by dans l'autre sens
    si c'est avec une boucle là aussi il suffit de faire un order by ou un step -1
    si c'est directement du .rows.add tu peux tenter .Rows.insert(,0)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 38
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    c'est toi qui le rempli, donc il suffit de lui donner les données dans l'autre sens tout simplement

    si tu passes par une base de données tu peux faire un order by dans l'autre sens
    si c'est avec une boucle là aussi il suffit de faire un order by ou un step -1
    si c'est directement du .rows.add tu peux tenter .Rows.insert(,0)
    Salut! Tout d'abord merci pour la contribution.

    Alors la première solution je pense comprendre ce que tu veux dire mais en fait c'est dans les lignes que le soucis se pose. Dans l'exemple ci dessous Martin est la dernière personne que j'ai entré en cliquant sur un bouton et elle s'affiche en dessous du tableau.

    .

    Oui je passe par une base de données le order by j'avais vu ça mais j'ai des erreurs de syntaxe.

    Admettons que ma Table s'appelle Métier

    J'ai essayé ceci et dans ce cas j'ai un message "définition de table manquante"

    CREATE TABLE [dbo].[Métier] (
    [Nom] VARCHAR (50) NOT NULL,
    [Prénom] VARCHAR (50) NULL,
    [Activité] VARCHAR (50) NULL,

    SELECT * FROM Métier
    ORDER BY Nom DESC;

    Et avec cette syntaxe que j'ai trouvé ailleurs j'ai aussi un problème de syntaxe.

    CREATE TABLE [dbo].[Métier] (
    [Nom] VARCHAR (50) NOT NULL,
    [Prénom] VARCHAR (50) NULL,
    [Activité] VARCHAR (50) NULL,

    SQL>SELECT * FROM Métier
    ORDER BY Nom DESC;

    Le Row ad (oups je dois aller bosser! ^^ je reviens ce soir!)

    Merci!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 38
    Par défaut
    Petite mise à jour

    Voilà en fait

    select * from Métier
    order by Intervention DESC; fonctionne bien quand je l’exécute dans le SQLQuery.sql (les lignes sont bien inversées) par contre ça ne me change pas mon datagridview : (

    J'ai ajouté un truc comme ça dans le .cs pas d'erreur lors de l'exécution mais rien ne se passe dans le datagrid.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                con.Open();
                SqlCommand cmd = new SqlCommand("SELECT * FROM Métier ORDER by Référence DESC", con);
                cmd.ExecuteNonQuery();
                con.Close();
                Display();
     
            }
    Edit 2 ^^!

    Bon ça marche finalement pour moi le problème venait du fait que j'avais converti une value en string. Pour les noobs comme moi et ne pas perdre des heures comme moi ne pas confondre les deux!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. petit problème d'affichage sur un datagridview
    Par boss_gama dans le forum C#
    Réponses: 5
    Dernier message: 01/05/2007, 21h42
  2. [C# 2.0] Mettre à jour l'affichage d'une dataGridView
    Par nicolas.pied dans le forum Accès aux données
    Réponses: 4
    Dernier message: 31/01/2007, 14h36
  3. Probleme d'affichage avec un DataGridView
    Par kekesilo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/01/2007, 14h12
  4. Réponses: 2
    Dernier message: 30/10/2006, 22h14
  5. problème inversion d'affichage....???
    Par AlSvartr dans le forum Langage
    Réponses: 8
    Dernier message: 10/01/2006, 11h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo