TreeView - La référence d'objet n'est pas définie...

TreeView - La référence d'objet n'est pas définie... - C#/.NET managed - Programmation

Marsh Posté le 12-10-2010 à 17:19:46    

Bonjour,
 
J'ai un TreeView que je remplis via une BDD le problème est lorsque je clique sur un noeud qui n'a plus de noeud fils, ça me génére une erreur :
 
 

Code :
  1. La référence d'objet n'est pas définie à une instance d'un objet


Pourtant tout me parait logique je ne vois pas du tout pourquoi il me sort cette erreur.  
Voici mon code : (c'est cette méthode qui est lancée à chaque clique sur un noeud)
 
 

Code :
  1. public void createNode(TreeNode node, string valueId)
  2. {
  3. DataTable dtn = this.getNode("SELECT idrepertoire, nom, replist FROM repertoire WHERE idpere = " + valueId + " ORDER BY idpere";);
  4. if (dtn.Rows.Count > 0)
  5. {
  6. foreach (DataRow dr in dtn.Rows)
  7. {
  8. TreeNode NewNode = new TreeNode(dr["nom"].ToString(), dr["idrepertoire"].ToString());
  9. NewNode.PopulateOnDemand = true;
  10. NewNode.SelectAction = TreeNodeSelectAction.Expand;
  11. node.ChildNodes.Add(NewNode);
  12. }
  13. }
  14. else
  15. {
  16. TreeNode NewNodeF = new TreeNode("testjpg", "100";);
  17. node.ChildNodes.Add(NewNodeF);
  18. //createFile(node, valueId);
  19. }
  20. }


Code :
  1. protected void TreeView1_treeNodePopulate(object sender, TreeNodeEventArgs e)
  2. {
  3. createNode(e.Node, e.Node.Value);
  4. }


 
Une petite capture d'écran avec l'erreur :
http://img408.imageshack.us/img408/3905/capturefns.png
 
 
Avez vous une idée sur ce qui est la cause de l'erreur ?


Message édité par manu f le 12-10-2010 à 17:21:33

---------------
Pire qu'une pierre dans la chaussure, est un grain de sable dans la capote.  Coluche.
Reply

Marsh Posté le 12-10-2010 à 17:19:46   

Reply

Marsh Posté le 13-10-2010 à 15:17:32    


La techno c'est du ASP.NET/C#.
 
En faite lorsque je clique sur le "+" de Maquette ça lance la méthode createNode. La requête :
 

Code :
  1. DataTable dtn = this.getNode("SELECT idrepertoire, nom, replist FROM repertoire WHERE idpere = " + valueId + " ORDER BY idpere";);


Me retourne aucune ligne donc logiquement, ça execute ce qui a dans le else et dans le else il n'y a rien de sorcier et ça ne peut pas être null puisque c'est quelque chose tapé en dur.

Code :
    • TreeNode NewNodeF = new TreeNode("testjpg", "100";);
    • [*]node.ChildNodes.Add(NewNodeF);


 
 
Je ne comprends pas pourquoi il me balance ce message d'erreur.  
 
(je ne peux pas débugger, j'ai pas de .sln juste quelques pages .aspx .cs)

Message cité 1 fois
Message édité par manu f le 13-10-2010 à 15:20:37

---------------
Pire qu'une pierre dans la chaussure, est un grain de sable dans la capote.  Coluche.
Reply

Marsh Posté le 13-10-2010 à 16:37:06    


Le ";" est une erreur de copier/coller, je vais vérifier si le node n'est pas null mais ça me parait bizarre puisque dés l'instant où je clique sur le noeud, c'est qu'il existe et ne peut donc pas être null.


Message édité par manu f le 13-10-2010 à 17:16:48

---------------
Pire qu'une pierre dans la chaussure, est un grain de sable dans la capote.  Coluche.
Reply

Marsh Posté le 08-11-2010 à 21:26:26    

manu f a écrit :


(je ne peux pas débugger, j'ai pas de .sln juste quelques pages .aspx .cs)


 
On peut toujours débugger. Tu ne sais pas le faire c'est tout.
 
Ouvre tes pages dans Visual Studio et attache le process asp.net
 
edit : sinon fais F5, ca marche aussi ;)


Message édité par Tamahome le 08-11-2010 à 21:26:48

---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed