Affichage du résultat d'une requête dans une gridview par rapport au résultat d'

[Résolu]
Signaler
Messages postés
15
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
4 janvier 2011
-
Messages postés
15
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
4 janvier 2011
-
Bonjour,


Je suis en trein de faire un site en asp avec c# (je suis débutante). J'aurais aimé pouvoir faire un menu avec des catégories et au clique sur ces catégories que des sous-catégories apparaissent.
Alors j'ai fait une première requête pour afficher mes catégories dans un gridview ce qui fonctionne très bien.

Code :
requete : select * from categorie

<asp:GridViewID="gv_menu_formulaire"runat="server"AutoGenerateColumns="false"ShowHeader="false"style="left: 0px; top: 0px">
         <Columns>
                  <asp:TemplateField>
                           <
ItemTemplate>
                                    <p
style="float:left;width:20%;"
><%
#Eval(
"nom_cat") %>
</p><p style="float:right;cursor:pointer;width:80%;"
onclick="categorie_Click(     ici j'aimerais mettre l'id de la catégorie comme <%#Eval(
"id_cat") %>  mais ca ne fonctionne pas     )"></p>
                           </ItemTemplate>
                  </asp:TemplateField>
         </Columns>
</asp:GridView>






Donc ce qui ne fonctionne pas c'est que j'aurais aimer mettre un gridview dans le gridview existant pour pouvoir exécuter mon autre requête (select * from sous_categorie where id_cat= <%#Eval("id_cat"%>) mais ca n'est pas possible.
Auriez vous une idée ?
Merci

Anaïs

3 réponses

Messages postés
15
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
4 janvier 2011

Voila j'ai terminé mon treeview.
Je met à votre disposition le code si ca peut vous aider.

Code aspx :
<asp:treeview
ID="menu_formulaire"
runat="server"></asp:treeview>

Code aspx.cs :
menu_formulaire.Nodes.Clear();
//Ajout d'un noeud de niveau 1

TreeNode categorie =
new
TreeNode(
"Racine");
//Ajout d'un noeud de niveau 2

TreeNode objet =
new
TreeNode(
"Parent");
//Ajout d'un noeud de niveau 3

TreeNode critere =
new
TreeNode(
"Feuille");
objet.ChildNodes.Add(critere);
//Ajout du noeud parent au menu_formulaire

menu_formulaire.Nodes.Add(categorie);
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
35
Salut,

Cela semble impossible de cette maniere.

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
e.Row.Attributes["onclick"] = string.format("categorie_Click({0}", ((Categorie)e.Row.DataItem).id_cat);

}
}

Voici une manière de contourner le probleme en s'abonnant sur l'evenement RowDataBound
Messages postés
15
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
4 janvier 2011

Salut,
Je te remercie pour ta réponse.
Je suis finallement passé par un treeview qui affiche les sous catégories de mes catégories. Mais maintenant je veux insérer un troisième niveaux dans mon treeview.

Code :

menu_formulaire.Nodes.Clear();
//Ajout d'un noeud de niveau 1

TreeNode categorie =
new
TreeNode(
"parent");
//Ajout d'un noeud de niveau 2

categorie.ChildNodes.Add(
new
TreeNode(
"enfant"/*row_objet["nom_objet"].ToString()*/));
//Ajout d'un noeud de niveau 3
............?????????????.................

Quelqu'un saurait comment faire ?

Merci