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++/CLI Discussion :

Changer le type d'un DataGridViewColumn


Sujet :

C++/CLI

Vue hybride

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 61
    Par défaut Changer le type d'un DataGridViewColumn
    Bonjour,

    Je voudrais lire un fichier un XML dans un DataGridView en affichant certaines colonnes en mode texte et d'autre en mode checkbox. Mais je n'y parviens pas ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    tring^ filePath = ".\\Authors.xml";
    System::Data::DataSet^  AuthorsDataSet;
    System::Windows::Forms::DataGridView^  dataGridView1;
     
    AuthorsDataSet->ReadXml(filePath);
    dataGridView1->DataSource = AuthorsDataSet;
    dataGridView1->DataMember = "authors";
     
    // ? ...
    Ce bout de code, me permet d'afficher mon DataGridView correctement mais je ne parviens pas a visualiser des colonnes en checkbox. Je parviens pourtant a ajouter des colonnes en chechbox en ajoutant le bout de code suivant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DataGridViewColumn^ column = gcnew DataGridViewCheckBoxColumn();
    column->DataPropertyName = "GoodGuy";
    column->Name = "Good";
    dataGridView1->Columns->Add(column);
    Mais c'est pas ca que je veux faire. Je veux que le mode checkbox soit dans les colonnes existante, si possible directement depuis le DataSet ou même depuis le fichier XML.

    Ma question est peut être simpliste mais je débute, alors je vous remercie par avance de votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 489
    Par défaut
    Un DataSet ne contient que des données, pas la manière dont les données sont affichées. C'est à la dataGridView de savoir comment afficher les valeurs d'une colonne, via sa propriété Columns par exemple.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 61
    Par défaut
    D'accord mais comment je peu faire en sorte que le DataGridView affiche certaines colonnes récupérées de fichier XML en mode checkbox ?
    Ou alors comment je peu modifier mon XML pour que les colonnes du DataGridView puissent d'afficher en mode checkbox ?

    Voila mon fichier authors.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" standalone="yes"?>
    <Authors_Table>
      <authors>
        <au_id boolean="true">172-32-1176</au_id>
        <au_lname>White</au_lname>
        <au_fname>Johnson</au_fname>
        <phone>408 496-7223</phone>
        <address>10932 Bigge Rd.</address>
        <city>Menlo Park</city>
        <contract boolean="true">true</contract>
      </authors>
    </Authors_Table>

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 489

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 61
    Par défaut
    Bonjour et merci pour ta réponse mais il semble que ca ne réponde pas à ce que je veux faire. C'est juste un exemple de ce que j'arrive déjà a faire et que j'explique dans le premier post.
    Je voudrais lire un fichier XML et l'afficher avec certains champs en checkbox et d'autre en textbox. Puis je voudrais enregistrer les modifications faite dans le fichier xml.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 61
    Par défaut
    Je pourrais en effet parcourir toutes les colonnes et chercher dans le nom de la colonne par exemple "checkbox" que j'aurais insérer dans le fichier XML. Ca me permettrais de supprimer la colonne et d'ajouter une colonne en type checkbox. C'est ce que je fais dans ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    AuthorsDataSet->ReadXml(filePath);
     
    dataGridView1->DataSource = AuthorsDataSet;
    dataGridView1->DataMember = "authors";
    dataGridView1->AutoGenerateColumns = true;
     
    DataGridViewColumn^ column = gcnew DataGridViewColumn();
    DataGridViewColumn^ columnNew = gcnew DataGridViewCheckBoxColumn();
     
    for(int i=0;i<dataGridView1->Columns->Count;i++)
    {
    	column = dataGridView1->Columns[ i ];
    	if(column->Name->Length>9)
    	{
    		if(column->Name->Substring(0,9) == "checkbox_")
    		{
    			columnNew->Name = column->Name->Substring(9);
    			columnNew->DataPropertyName = column->Name->Substring(9);
    			dataGridView1->Columns->Remove(column->Name);
    			dataGridView1->Columns->Add(columnNew);
    		}
    	}
    }
    Mais je trouve ca dommage, d'avoir des objets aussi évoluer et de ne pas pouvoir faire ce genre de chose simple nativement.

    Vous etes sur qu'il n'y a pas un moyen plus convivial pour faire ca ?

Discussions similaires

  1. comment changer le type d'une relation ?
    Par mitapi dans le forum Access
    Réponses: 5
    Dernier message: 21/05/2007, 10h29
  2. [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
  3. [surcharge]changer le type de reotour d'une méthode
    Par bountykiller dans le forum C++
    Réponses: 3
    Dernier message: 28/09/2005, 11h41
  4. Probleme Alter - Changer le type d'un champ
    Par Yphon dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/09/2005, 13h58
  5. Changer el type d'une variable sql sous postgre8/admin
    Par smag dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 24/08/2005, 12h31

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