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

Windows Forms Discussion :

Se positionner automatiquement sur une colonne d'un datagridview


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Se positionner automatiquement sur une colonne d'un datagridview
    Bonjour,

    Mon problème est le suivant : je remplis un datagridview par une requête sql.
    Par défaut le datagridview se positionne sur le première colonne.
    Comment puis-je faire pour que la colonne sélectionnée par défaut en soit une autre ? Sachant que je connais la position de la colonne et son nom.

    Merci d'avance pour vos réponses.

  2. #2
    Membre averti Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Points : 426
    Points
    426
    Par défaut
    Utilises la propriété 'FirstDisplayedScrollingColumnIndex' de ta datagridview.

    http://msdn.microsoft.com/en-us/libr...lumnindex.aspx

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.DataGridView1.FirstDisplayedScrollingColumnIndex = 1

    Ou la propriété 'FirstDisplayedCell'.

    http://msdn.microsoft.com/fr-fr/libr...layedcell.aspx

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.DataGridView1.FirstDisplayedCell = Me.DataGridView1.Rows(0).Cells(1)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Bonjour et merci pour votre réponse.

    Cela m'a bien aidé, mais maintenant, je me demande si j'utilise la bonne méthode.

    Je vous explique :

    Au chargement du formulaire, je rempli un combobox avec une requête afin d'avoir toutes les valeurs d'une table. (dans mon cas, ma combobox se remplit avec les "titre_news" de la table "news").

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Try
                Accueil.dts = Accueil.db.mysqlquery("SELECT * FROM news")
                Me.ComboBox1.DataSource = Accueil.dts.Tables.Item(0)
                Me.ComboBox1.DisplayMember = "titre_news"
                Me.ComboBox1.ValueMember = "num_news"
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    Ensuite, quand je clique sur mon bouton "supprimer", j'exécute ma requête pour supprimer ma news.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim num_news As String
            num_news = Convert.ToString(ComboBox1.SelectedValue)
            Try
                Accueil.dts = Accueil.db.mysqlquery("DELETE FROM news WHERE num_news = '" + num_news + "'")
                Accueil.dts = Accueil.db.mysqlquery("SELECT titre_news, num_news FROM news")
                Me.ComboBox1.DataSource = Accueil.dts.Tables.Item(0)
                Me.ComboBox1.DisplayMember = "titre_news"
                Me.ComboBox1.ValueMember = "num_news"
                Me.DataGridView1.DataSource = Accueil.dts.Tables.Item(0)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    Le problème est que ma table news comporte la clef etrangere "numero_fichier_image" faisant référence à la clef primaire "numero_fichier" de la table "fichier.

    Ce que je voudais, c'est exécuter un requête qui en plus de m'effacer la news me supprime l'entrée du fichier dans la table fichier.

    Pour cela, je mettais le contenu de ma table news dans un datagridview dont la cellule selectionnée par défaut était le "numéro_fichier_image" puis j'exécutais la requete pour supprimer le fichier dont le numéro était égal à celui de la cellule sélectionnée.

    N'y a-t-il pas un moyen plus propore pour le faire?

    Merci d'avance pour vos réponses.

  4. #4
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Ce que tu pourrais faire c'est par exemple utilisé un Striger au niveau de la BD
    Ou a défaut tu écrit une fonction qui prend en paramétrés le "Titre_news" fait un select dans la BD retourne le "numero_fichier_image" correspondent ensuite fait un delete dans la BD de ce numero_fichier" Si tes contraintes étaient bien gérer au niveau de ta bd ce que la suppression d'un news devrais être impossible tant que l'on a pas supprimer d'abord dans la table fichier
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Le probleme est qu'en fait je commence seulement à utiliser vb.net pour génrer les BDD.
    En gros, ce que je voudrais faire et que je ne sais pas comment c'est lorsque que j'alimente mon combobox avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Try
                Accueil.dts = Accueil.db.mysqlquery("SELECT * FROM news")
                Me.ComboBox1.DataSource = Accueil.dts.Tables.Item(0)
                Me.ComboBox1.DisplayMember = "titre_news"
                Me.ComboBox1.ValueMember = "num_news"
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    trouver un moyen pour stocker le "numero_image_news" quelque part.
    Quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ComboBox1.ValueMember = "numero_image_news"
    , mais ailleurs que dans ma combobox en fait.

    Je sais pas si je suis très clair

    En tout cas merci

  6. #6
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Pourquoi vouloir forcement utiliser un autre objet pour stocké cella comme j'ai dit
    écrit une fonction qui prend en paramétrés le "Titre_news" fait un select dans la BD retourne le "numero_fichier_image" correspondent ensuite fait un delete dans la BD de ce numero_fichier" Si tes contraintes étaient bien gérer au niveau de ta bd ce que la suppression d'un news devrais être impossible tant que l'on a pas supprimer d'abord dans la table fichier
    c'est plus simple si tu ne sait comment implémenter un striger.
    Si tu ne sait pas comment écrire cette fonction tu me dit.
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Et bien oui, je ne sais pas comment écrire cette fonction

    Donc un petit coup de main ne serait pas de refus. Pour l'instant je l'ai stocké dans un autre objet et ça marche, mais c'est pas propre donc...

    Merci d'avance

  8. #8
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Bon si sa marche tu peu évoluer avec
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Ok merci beaucoup alors

    Sujet résolu!

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

Discussions similaires

  1. [9.2] Concaténation automatique sur une colonne
    Par rhinolophus dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 22/07/2014, 16h56
  2. [WD16] Positionner une table sur une colonne ciblée
    Par xoorus dans le forum WinDev
    Réponses: 11
    Dernier message: 07/06/2012, 18h52
  3. Contraite NULL sur une colonne en fonction d'une autre colon
    Par speedy1496 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/04/2004, 20h29
  4. Trigger sur une colonne ?
    Par hpalpha dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/03/2004, 15h16
  5. Check sur une colonne de table "en cours"
    Par in dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/07/2003, 10h47

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