2008-11-06 6 views
10

J'ai du mal avec le morceau de code suivant. Quand je passe par le débogueur je reçois une exception en ce qui concerne la ligne suivante:colonne ne peut pas être ajoutée parce que sa propriété est exception null type de cellule

dgvCalls.Columns.Insert(1, msisnnColumn); 

je reçois une exception:

colonne ne peut pas être ajouté parce que sa propriété type de cellule est nulle.

Bizarrement, j'ai créé la même procédure pour d'autres DataGridViews et cela a fonctionné correctement.

if (!(dgvCalls.Columns.Contains("DirectionImage"))) 
       { 
        directionIconColumn = new DataGridViewImageColumn(); 
        directionIconColumn.Name = "DirectionImage"; 
        directionIconColumn.HeaderText = ""; 
        dgvCalls.Columns.Insert(0, directionIconColumn); 
        directionIconColumn.CellTemplate = new DataGridViewImageCell(); 
       } 
       if (!(dgvCalls.Columns.Contains("msisndColumn"))) 
       { 
        msisnnColumn = new DataGridViewColumn(); 
        msisnnColumn.Name = "msisndColumn"; 
        msisnnColumn.HeaderText = "Klic"; 
        dgvCalls.Columns.Insert(1, msisnnColumn); 
        msisnnColumn.CellTemplate = new DataGridViewTextBoxCell(); 
       } 

Une suggestion?

+0

Vous pouvez afficher le code dans un format plus facile à lire en le sélectionnant et en cliquant sur les petits 0101010 icône juste au-dessus de la zone de texte d'édition. – DOK

Répondre

17
dgvCalls.Columns.Insert(1, msisnnColumn); 
msisnnColumn.CellTemplate = new DataGridViewTextBoxCell(); 

Essayez de retourner ces deux lignes. Cela pourrait faire l'affaire.

+0

Merci! Ça marche. Je me demande pourquoi cela fonctionne dans l'autre forme où la commande est différente! –

+1

La chose est, puisque vous êtes juste à attribuer msisnnColumn une nouvelle DataGridViewColumn(), il ne sait pas ce type de cellule que vous voulez, il laisse simplement nulle. Donc quand vous êtes allé faire l'insertion, ça a explosé. Toutefois, si vous affectez d'abord le CellTemplate à un TextBoxCell, il sait ce que vous voulez. – BFree

Questions connexes