2011-04-06 2 views
0

Je reçois cette erreur: la référence d'objet n'est pas définie sur une instance.Est-ce que quelqu'un sait ce que cette erreur est?

après l'exécution de ce code

 DataTable dtOriginal = new DataTable(); 
     dtOriginal = (DataTable)gvRapporten.DataSource; //Return Table consisting data 

     //Create Tempory Table 
     DataTable dtTemp = new DataTable(); 

     //Creating Header Row 
     dtTemp.Columns.Add("<b>Melder</b>"); 
     dtTemp.Columns.Add("<b>Onderwerp</b>"); 
     dtTemp.Columns.Add("<b>Oplosser</b>"); 
     dtTemp.Columns.Add("<b>Niveau 2</b>"); 
     DataRow drAddItem; 
     for (int i = 0; i < dtOriginal.Rows.Count; i++) 
     { 
      drAddItem = dtTemp.NewRow(); 
      drAddItem[0] = dtOriginal.Rows[i][0].ToString();//Melder 
      drAddItem[1] = dtOriginal.Rows[i][1].ToString();//Onderwerp 
      drAddItem[2] = dtOriginal.Rows[i][2].ToString();//Oplosser 
      drAddItem[3] = dtOriginal.Rows[i][3].ToString();//Niveau 2 

      dtTemp.Rows.Add(drAddItem); 
     } 

Le DataSource du gridview « gvRapporten » est fixé à l'événement Page_Load, donc il ne peut pas être NULL

+0

Publier une trace de la pile. –

+0

Utilisez le débogage et vérifiez quelle ligne obtenez-vous l'erreur? Afficher cette ligne de code dans votre question –

+0

Un commentaire offtopic: dtTemp.Columns.Add ("Melder") ;? Vous créez des colonnes DataTable. Pas de lignes d'en-tête. – Anuraj

Répondre

2

Sur un retour de publication le DataSource sera vide. Vous devrez réexécuter la requête pour obtenir les données d'origine.

2

Si ce code ne fait pas partie de la ' page_load 'alors je suppose que c'est sur les autres événements de contrôle, ce qui signifie que la valeur de gvRapporten.DataSource sera effacée lors de la publication. Puisque le web est «sans état», il ne conservera pas la valeur datatable, vous devriez donc récupérer la valeur de votre base de données.

0

Si vous êtes sûr de gvRapporten, il est possible que l'une des lignes accessibles dans la boucle contient une référence NULL donnant erreur lorsque vous appelez la fonction ToString()

Questions connexes