none
DataBoolColumn RRS feed

  • Question

  • bonjour,

     

     

    Voici un code pour des boolColumn:

     

    cGestObjet.requestOBject();

    myDataView = dataBase.myDataTable.DefaultView;

    this.kryptonDataGridView1.DataSource = myDataView;

    DataGridBoolColumn check = new DataGridBoolColumn("S‚lectionner", System.Type.GetType("System.Boolean"));

    this.kryptonDataGridView1.Columns.Add(check);

    this.kryptonDataGridView1.Invalidate();

     

     

    L'erreur:

     

    Error 5 Argument '1': cannot convert from 'string' to 'System.ComponentModel.PropertyDescriptor' 

    sur le "Sélectionner"

     

    Error 6 Argument '2': cannot convert from 'System.Type' to 'bool' 

    sur

    System.Type.GetType("System.Boolean")


     

     

    Error 7 The best overloaded method match for 'System.Windows.Forms.DataGridViewColumnCollection.Add(System.Windows.Forms.DataGridViewColumn)' has some invalid arguments

    ligne:

    this.kryptonDataGridView1.Columns.Add(check);

     

    et sur la meme ligne:

    Error 8 Argument '1': cannot convert from 'System.Windows.Forms.DataGridBoolColumn' to 'System.Windows.Forms.DataGridViewColumn'

    le (check);

     

     

    Voilà. Autre question:

     

    Lorsque ceci sera réglé, et que le client cliquera sur "Sauvegarder", la boite de dialog doit se fermé, et dans la boite principal, le txtBoxCorrespondant, ajouté, muni de split(',') les données checké.

     

    Comment faire?

     

    Merci Smile

    mercredi 10 septembre 2008 06:43

Toutes les réponses

  • Bonjour,

     

    Normal que tu aies ce genre d'erreur tu n'utilises pas le bon objet.

    Voici la doc de l'objet que tu utilises:

    http://msdn.microsoft.com/fr-fr/library/x0443t37.aspx

    Mais ce n'est pas le bon objet qui t'intéresse de toute façon si je comprends ce que tu veux. Il vaut mieux utiliser un

    DataGridViewColumn comme ci-dessous.

     

    Tu as un bon exemple ici:

    http://msdn.microsoft.com/fr-fr/library/system.windows.forms.datagridviewcolumn.datapropertyname(VS.80).aspx

     

    dans ton cas cela doit donner:

    Code Snippet

                DataGridViewColumn column = new DataGridViewCheckBoxColumn();
                //column.DataPropertyName = "Map on a datatable field if available";
                column.Name = "Sélectionner";
                this.kryptonDataGridView1.Columns.Add(column);

     

    Vérifie que tout va bien et pose ta question suivante dans un autre fil (en première réponse il faudra que tu récupères toutes les rows et que tu testes celles qui ont la valeur à true sur lequelles faire ton action un peu comme ci-dessous)

    Code Snippet

                String contenu="";
                foreach (DataGridViewRow row in kryptonDataGridView1.Rows)
                {
                    if (row.Cells["Sélectionner"].Value == true)
                    {
                        contenu += row.Cells["MaDonnée"].Value + ",";
                    }
                }

     

     

    mercredi 10 septembre 2008 07:53
  •  

    Salut,

     

    merci de ta réponse, la colonne s'ajoute, mais elle ne se check pas, pourquoi?

     

    code:

    cGestObjet.requestOBject();

    myDataView = dataBase.myDataTable.DefaultView;

    this.kryptonDataGridView1.DataSource = myDataView;

    DataGridViewCheckBoxColumn check = new DataGridViewCheckBoxColumn();

    check.DataPropertyName = "S‚lectionner";

    check.Name = "S‚lectionner";

    this.kryptonDataGridView1.Columns.Add(check);

    this.kryptonDataGridView1.Invalidate();

    mercredi 10 septembre 2008 08:08
  • Je pense que c'est pour la même raison qu'ici:

    http://forums.microsoft.com/MSDN-FR/ShowPost.aspx?PostID=3798288&SiteID=12

     

    Il faut mettre la propriété readonly de ton gridview à false pour que ce soit éditable!

     

    mercredi 10 septembre 2008 09:44