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 :

[DataGridView] Changer le type de la colonne


Sujet :

Windows Forms

  1. #1
    Membre confirmé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Points : 610
    Points
    610
    Par défaut [DataGridView] Changer le type de la colonne
    Bonjour a tous ,

    Mon datagridview (dgv) est bindé avec une dataset classique.... Il possède 3 colonne que j'ai ensuite assigné au bind avec datapropertyname :

    Id - Nom - Lien

    La colonne lien est de type DataGridViewLinkColumn
    or à l'ajout d'un nouveau enregistrement je n'arrive pas a mettre une adresse web.... il refuse

    je voudrais essayer de changer le type de la colonne provisoirement afin de pouvoir saisir le lien normalement...

    merci d'avance .....

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    je n'ai pas vraiment compris ton problème.
    Je profite de ton post car je cherche également a mettre mon type de colonne de mon DGV qui contient une colonne "mail". Le DGV est alimenté par mon dataset.
    Lorsque je fais ceci
    dataGridView1.Columns["Mail"].ValueType = typeof(DataGridViewLinkColumn);
    rien ne se passe.
    Une idée?

  3. #3
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Si c'est via le designer de forms que le datagridview est bindé à une table, alors dans l'éditeur de cette grille, on peut ajouter / supprimer / renommer / ordonner / etc. les colonnes.

    Par conter, effectivement, si aucun binding n'est fait via le designer, alors faire juste grid.DataSource = laDataTable va générer les colonnes avec des valeurs par défaut. Pour customiser les types des colonnes et / ou leur position et / ou leur visibilité, il faut ajouter les colonnes à la main.
    ಠ_ಠ

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    oui c'est ce que j'ai fait.
    C'est a dire j'ai bindé mon DGV de la sorte :
    dataGridView1.DataSource = dataSet.Tables["Clients"].DefaultView;
    et puis ensuite j'ai modifié a la main la position de mes colonnes etc..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Beige;
                 dataGridView1.Columns["DateContrat"].DisplayIndex = 0;
                 dataGridView1.Columns["Raison_Social"].HeaderText = "RS";
                 dataGridView1.Columns["Raison_Social"].DisplayIndex = 1;
                 dataGridView1.Columns["NumFacture"].HeaderText = "N° Facture";
    dataGridView1.Columns["NumFacture"].DisplayIndex = 2;
    dataGridView1.Columns["Mail"].ValueType = typeof(DataGridViewLinkColumn);
    ce que je souhaiterai c'est de modifier le type de la colonne MAIL pour qu'ensuite sur l'event onclick de la cellule j'ouvre le mail pre rempli

  5. #5
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Citation Envoyé par skunkies Voir le message
    oui c'est ce que j'ai fait.
    C'est à dire ? Tu as juste ajouté dans le designer une grille vierge, ce qui a créé des colonnes automatiquement, que tu personnalises ensuite ?

    Si c'est le cas, t'as deux possibilités : ou bien tu bindes depuis le designer la grille à la table, ce qui te permettra graphiquement de personnaliser ta grille ; ou alors, tu fais tout à la main, y compris la création de colonnes. Il faut alors désactiver la création automatique de colonnes (il y a une propriété booléenne pour ça, je sais plus son nom), et tu fais des séries de taGrille.Columns.Add(new TonTypeDeColonne()).

    Et le ValueType, c'est le type des données contenues dans la colonne, pas le type de la colonne. Par exemple, ça sera bool pour une CheckListBoxColumn, string / int / float / ... pour une TextBoxColumn, etc.
    ಠ_ಠ

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    ce que j'ai fait c'est de creer dans le designer un DGV puis binder la source au niveau du code.
    Si j'ai bien compris, je ne peux pas binder mon DGV a partir du code et juste modifier le type de la colonne comme je l'ai fait pour que le contenu de ma colonne apparaissent (dans mon cas) comme un lien.

    Je precise que mon but est de faire que la colonne "Mail" soit un lien qui ouvre outlook avec l'adresse pre rempli.

  7. #7
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Bah tu peux toujours supprimer la colonne qui a pas le bon type et en rajouter une autre avec le type qui va bien. Tu peux utiliser les méthodes Remove et Add de taGrille.Columns.
    ಠ_ಠ

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    ok merci je vais regarder de ce cote la.

Discussions similaires

  1. Changer le type d'une colonne
    Par Vincent_D dans le forum Oracle
    Réponses: 2
    Dernier message: 11/10/2007, 15h54
  2. Changer le type d'une colonne
    Par Poisson59 dans le forum Oracle
    Réponses: 2
    Dernier message: 06/12/2005, 13h59
  3. [Débutant] Changer le type d'une colonne
    Par david71 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 08/11/2005, 11h26

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