Faire une arborescence à partir d'une base de donnée

Résolu
vinse26 Messages postés 4 Date d'inscription mercredi 16 février 2011 Statut Membre Dernière intervention 18 février 2011 - 16 févr. 2011 à 14:46
vinse26 Messages postés 4 Date d'inscription mercredi 16 février 2011 Statut Membre Dernière intervention 18 février 2011 - 17 févr. 2011 à 11:50
Bonjour à tous,


Actuellement sur le développement d'un site web en asp, on m'a chargé de créer une arborescence pour faire apparaître les différentes infos de la base de données. C'est à dire, que dans mon arbre je devrais avoir des pôles qui contiennent des départements qui eux contiennent des équipes etc...
Pour cela, j'ai choisi l'objet treeview qui correspond le mieux à mes attendes. Je suis bloqué pour afficher les équipes à partir d'un noeud département. J'ai cherché pendant un moment à résoudre ce problème, j'ai cherché sur le net mais rien à faire. Si vous pouviez m'aider ou même me donner des pistes à suivre qui pourraient m'avancer ça serrait vraiment sympa.
Je vous montre mon code c# au cas ou vous auriez quelques minutes à m'accorder :


    protected void Button_tre_Click(object sender, EventArgs e)
    {
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = @"Data Source=B0168;Initial Catalog=annuaire;Integrated Security=True";

        DataSet mondataPole = new DataSet() ;
        SqlDataAdapter sqaPole = new SqlDataAdapter();
        sqaPole.SelectCommand = new SqlCommand("SELECT ID, LIBELLEFR FROM POLES ", cn);
        sqaPole.Fill(mondataPole, "POLES");

        DataSet mondataDep = new DataSet();
        SqlDataAdapter sqaDep = new SqlDataAdapter();
        sqaDep.SelectCommand = new SqlCommand("SELECT IDPOLE, NOMSERVFR FROM DEP ", cn);
        sqaDep.Fill(mondataDep, "DEP");

        DataSet mondataEq = new DataSet();
        SqlDataAdapter sqaEq = new SqlDataAdapter();
        sqaEq.SelectCommand = new SqlCommand("SELECT ID, IDDEP, LIBELLEFR FROM EQUIPE ", cn);
        sqaEq.Fill(mondataEq, "EQUIPE");

           int i = 0;
           string idPole;
           string idPole_Dep;

        foreach (DataTable dtPole in mondataPole.Tables)
        {
            
            foreach(DataRow lPole in dtPole.Rows)
            {

                idPole =  lPole["ID"].ToString();
                TreeView1.Nodes.Add(new TreeNode(lPole["LIBELLEFR"].ToString()));

                foreach (DataTable dtDep in mondataDep.Tables)
                {
                 
                    foreach (DataRow lDep in dtDep.Rows)
                    {
                        
                        idPole_Dep = lDep["IDPOLE"].ToString();
                        if (idPole == idPole_Dep)
                        {
                            TreeView1.Nodes[i].ChildNodes.Add(new TreeNode(lDep["NOMSERVFR"].ToString()));                      
                        }
                        
                     }
                    }
                i++;
            }
        }
    }




Merci pour votre attention

2 réponses

vinse26 Messages postés 4 Date d'inscription mercredi 16 février 2011 Statut Membre Dernière intervention 18 février 2011
17 févr. 2011 à 11:50
C'est bon j'ai trouvé la solution à mon problème.
Encore merci
3
vinse26 Messages postés 4 Date d'inscription mercredi 16 février 2011 Statut Membre Dernière intervention 18 février 2011
17 févr. 2011 à 08:50
Une petite aide svp...
0
Rejoignez-nous