Treelist

tlilikhaled Messages postés 8 Date d'inscription vendredi 25 septembre 2009 Statut Membre Dernière intervention 26 avril 2010 - 9 mars 2010 à 00:28
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 - 13 mars 2010 à 22:13
salut,j'ai une problème de manipulation du élément TreeList du devExpress ,est ce que quelqu'un peut m'aider comment afficher un ensemble de données à partir d'une base de données dans une treelist et merci.

1 réponse

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
13 mars 2010 à 22:13
Bonsoir,
si par treelist tu veux dire treeview, ce n'est pas compliqué,
voici un exemple basé sur une connexion SQL de la base northwind.

la requette recupere une liste de client avec la date de leur commande et les articles de chaque commande.

le programme parcourt le résultat de la requette et ajoute les clients, leurs dates de commande et les articles de chaque commande.
pense à fermer le reader et la connexion à la fin, j'ai la flèmme...
private void button1_Click(object sender, EventArgs e)
{

    string query = @"SELECT Customers.ContactName AS Expr1, Orders.OrderDate, Products.ProductName
FROM Orders INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID INNER JOIN
[Order Details] ON Orders.OrderID = [Order Details].OrderID INNER JOIN
Products ON [Order Details].ProductID = Products.ProductID 
ORDER BY Customers.ContactName, Orders.OrderDate, Products.ProductName";

    SqlConnection con = new SqlConnection("data source=(local);initial catalog=Northwind;Integrated Security='SSPI'");
    con.Open();
    SqlCommand command = new SqlCommand(query, con);
    SqlDataReader reader = command.ExecuteReader();
    DateTime orderDate=DateTime.MinValue;

    // le noeud de base
    TreeNode rootNode=new TreeNode("Liste des ommandes");
    treeView1.Nodes.Add(rootNode);
    

    while (reader.Read())
    {
        // le noeud de travail client
        TreeNode CustomerNode = null;
        //Le noeud de travail Date
        TreeNode OrderDateNode = null;

        //nouveau client ? on l'ajoute au noeud de base
        if (CustomerNode == null || CustomerNode.Text != reader.GetString(0))
        {
            CustomerNode=new TreeNode(reader.GetString(0));
            rootNode.Nodes.Add(CustomerNode);
        }
        //nouvelle date de commande ? on l'ajoute au client en cours
        if (OrderDateNode == null || OrderDateNode.Text !=reader.GetDateTime(1).ToString("yyyy/MM/dd"))
        {
            OrderDateNode=new TreeNode(reader.GetDateTime(1).ToString("yyyy/MM/dd"));
            CustomerNode.Nodes.Add(OrderDateNode);
        }
        //ajout des articles à la date de commande en cours
        OrderDateNode.Nodes.Add(new TreeNode(reader.GetString(2)));
    }
}


bon code ...
C# is amazing, enjoy it!
0
Rejoignez-nous