Treelist

Signaler
Messages postés
8
Date d'inscription
vendredi 25 septembre 2009
Statut
Membre
Dernière intervention
26 avril 2010
-
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
-
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.
A voir également:

1 réponse

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
29
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!