2009-06-24 5 views
1

J'ai un contrôle d'arborescence dans lequel je dois lier un jeu de données avec plusieurs tables de données, et avoir des relations entre eux.Comment lier un ensemble de données avec plusieurs tables au contrôle treeview asp.net?

pouvez-vous suggérer comment puis-je faire cela, je l'ai essayé plusieurs façons, mais aucune d'entre elles avérées utiles ...

Merci

+0

Je n'ai pas trouvé la solution exacte que je cherchais donc j'ai mon arbre arborescence vue par programme – Utkarsh

Répondre

0

essayer ce code, l'espoir sera helpfull..I ont code juste copier collé ... vous pouvez modifier le nom de la colonne ..

DataTable dt=new DataTable(); 
    DataTable dt1 = new DataTable(); 
    DataSet ds = new DataSet(); 
    ds.Tables.Add(dt); 
    ds.Tables.Add(dt1); 
    ds.Relations.Add("children", dt.Columns["GSICCodeID"], dt1.Columns["GSICCodeID"]); 
    if (ds.Tables[0].Rows.Count > 0) 
    { 
     tvSicCode.Nodes.Clear(); 
     Int32 i = 0; 
     foreach (DataRow masterRow in ds.Tables[0].Rows) 
     { 
      TreeNode masterNode = new TreeNode((string)masterRow["Description"], Convert.ToString(masterRow["GSicCodeID"])); 
      tvSicCode.Nodes.Add(masterNode); 
      foreach (DataRow childRow in masterRow.GetChildRows("Children")) 
      { 
       TreeNode childNode = new TreeNode((string)childRow["SICCodeDesc"], Convert.ToString(childRow["SICCodeID"])); 

       if (Convert.ToString(ds.Tables[1].Rows[i]["CarrierSICCode"]) != "") 
        childNode.Checked = true; 

       masterNode.ChildNodes.Add(childNode); 
       i++; 
      } 
     } 

     tvSicCode.CollapseAll(); 
    } 
+0

c'est la bonne façon mais si j'ai plus de deux tables alors la taille du code sera beaucoup plus grande, je pensais à certaines façons que je créer une relation au sein de l'ensemble de données, puis lier cela avec l'arborescence est-il possible ?? – Utkarsh

+0

bien, vous pouvez ajouter plus de 2 tables dans Dataset et donc faire une relation, mais que je n'ai pas essayé ce que vous voulez réellement, mais vous pouvez essayer ....... Je pense que vous essayez de peupler plusieurs niveau de treeview donc je pense que vous devez faire une fonction récursive pour peupler treeview ..... –

Questions connexes