2010-12-12 56 views
0

J'utilise vue DataGrid et je veux ajouter DataGridViewComboBoxColumnproblème avec Datagrid Voir

Articles obtient membre ajouté et l'affichage est également montré si debugger et les voir en montre mais le problème est que lorsque le formulaire est montré vue DataGrid contient toute autre colonne avec cette combo mais elle est vide. pourquoi

  DataGridViewComboBoxColumn cbol = new DataGridViewComboBoxColumn(); 
      cbol.HeaderText = "Actions"; 
      cbol.Items.Add("Print Job Card"); 
      cbol.Items.Add("Print Invoice"); 
      cbol.Items.Add("Close Job Card"); 
      cbol.DisplayMember = cbol.Items[0].ToString();  
      cbol.Name = "bcolumn";    
      createCol = false; 
      DataGridView1.Columns.Add(cbol); 
+0

Et comment pouvons-nous ajouter un événement à ce que je veux dire quand je choisis l'un des trois articles –

Répondre

0

Je lui ai donné un essai, j'ai créé une nouvelle application Winform, je glissés et déposés un DataGridView sur mon formulaire, et dans la méthode Form1(), je collé votre code (sauf les lignes DisplayMember et createCol):

 DataGridViewComboBoxColumn cbol = new DataGridViewComboBoxColumn(); 
     cbol.HeaderText = "Actions"; 
     cbol.Items.Add("Print Job Card"); 
     cbol.Items.Add("Print Invoice"); 
     cbol.Items.Add("Close Job Card"); 
     cbol.Name = "bcolumn"; 
     dataGridView1.Columns.Add(cbol); 

Cela a fonctionné parfaitement.

Alors ma première question est: où utilisez-vous votre code?

2ème question si le 1er ne vous aide pas: vous voyez, dans mon code, dataGridView1 n'est pas en bleu, parce que c'est une instance de DataGridView. Dans le vôtre, il est en majuscule et en bleu. Peut-être qu'il y a quelque chose là-dedans?

0

Vous ne devez pas définir DisplayMember, puisque vous n'êtes pas liez le combobox.

+0

Même alors son vide –

+0

@Afrin: Qu'est-ce qui est vide? La cellule ou la liste déroulante? – SLaks

+0

La liste déroulante –

0

Le problème était que j'avais mis attribut lecture seule de vue DataGrid vrai c'est pourquoi il n'a pas été autorisé à faire tout changement réel combobox n'a pas été vide