Bonjour,

Ne sachant pas trop comment expliquer mon probleme, je vais expliquer ce que j'ai fais et ce que je cherche a faire.

Il y a plusieurs type de partenaires. J'aimerais creer un dataList pour chaque type avec à l'interieur les données des partenaires appartenant à ce type.

EX:
TYPE1: (datalist contenant les partenaires de TYPE1)
TYPE2: (datalist contenant les partenaires de TYPE2)
TYPE3: (datalist contenant les partenaires de TYPE3)

J'ai donc d'abord creer une requete cherchant la liste des types. Puis je fais une boucle parcourant les resultats. Imaginons que le résultat dans un tour de boucle est TYPE1 alors je fais une requete du style (SELECT * FROM partenaire WHERE type = [variable contenant le type ici TYPE1])

Je possede maintenant tous les partenaires appartenant a TYPE1

Je remplis le datalist des informations (Le datalist se trouve dans "mapage.aspx" alors que le code C# se trouve dans mapage.aspx.cs)

J'ai terminé le premier tour de boucle, je recommence avec le TYPE2.

Mon probleme est que avec le code suivant, il y a un seul dataList d'afficher et c'est le dernier (ici le datalist du TYPE3). Ce qui voudrai donc dire qu'a chaque fois que je creé un datalist, il efface le precedent :s

Voici le code dans la boucle de traitement des types:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
    //Instanciation des objets
    OleDbConnection oConnexion = new OleDbConnection();
 
    //Chaine permettant la connexion à la base Oracle
    string sConnexionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = ../PS.mdb";
    oConnexion.ConnectionString = sConnexionString;
 
    //Chaine contenant la requete SQL
    string sSQL = "SELECT * FROM partenaires WHERE type = " + valeur;
 
    //Ici valeur est le numero du type en cours
 
    OleDbCommand com = new OleDbCommand(sSQL, oConnexion);
 
    //On ouvre la connexion
    oConnexion.Open();
 
 
    if (com.ExecuteScalar() != null)
    {
        Response.Write(dr["typePartenaire"].ToString());
 
        DataSet ds = new DataSet();
 
        OleDbDataAdapter myCommand = new OleDbDataAdapter(sSQL, oConnexion);
 
        myCommand.Fill(ds, "partenaires");
 
        DTL.DataSource = ds.Tables["partenaires"].DefaultView;
        DTL.DataBind();
 
      //Ici DTL est le datalist
 
        ds.Clear();
    }

J'espere que j'ai été assez clair

Si vous pouviez m'aider. Merci