Accueil > Forum > > > > Cacher des parties de mon repeater .
Cacher des parties de mon repeater .
vendredi 24 septembre 2010 à 08:58:14 |
Cacher des parties de mon repeater .

Skunkz
|
Bonjour.
Je vous explique mon probléme :
j'ai du coder une page qui affiche une liste d'applications , contenant des groupes , qui eux memes contiennent des fichiers.
J'ai donc choisir d'utiliser un repeater , que j'alimente via une requete sql pour afficher mes données. Voici le repeater :
Code ASP.NET : <asp:Repeater ID="liste_app" runat="server" OnItemCommand="_liste_app_ItemCommand">
<ItemTemplate>
<table>
<tr id='<%# Databinder.Eval(Container.DataItem,"APP_ID","tr_app{0}" ) %>'>
<td width="350" style="color: red">
<asp:Label ID="app_libelle" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "APP_LIBELLE")%> '> </asp:Label>
<asp:Label ID="app_id" runat="server" Visible="false" Text='<%#DataBinder.Eval(Container.DataItem, "APP_ID")%> '></asp:Label>
<asp:ImageButton Style="color: Black" runat="server" ID="link_app" ImageUrl="~/Images/moinsapp.bmp" />
</asp:ImageButton>
</td>
</tr>
<tr bgcolor="#ffffc0">
<td width="350">
<asp:Label ID="grp_admin" runat="server" Visible="false" Text='<%#DataBinder.Eval(Container.DataItem, "GRP_ADMIN")%> '></asp:Label>
<asp:ImageButton Style="color: Black" runat="server" ID="link_grp" ImageUrl="~/Images/moinsgrp.bmp">
</asp:ImageButton>
<asp:Label ID="grp_libelle" runat="server" Text=' <%#DataBinder.Eval(Container.DataItem, "GRP_LIBELLE")%> '></asp:Label>
<asp:Label ID="grp_id" runat="server" Visible="false" Text='<%#DataBinder.Eval(Container.DataItem, "GRP_ID")%> '></asp:Label>
<asp:ImageButton ID="admin_btn" Visible="false" runat="server" ImageUrl="~/Images/admin_btn.bmp" />
</td>
</tr>
<tr>
<td>
<asp:Image ID="noinfo" runat="server" Visible="false" ImageUrl="~/Images/noinfo.bmp" />
<asp:ImageButton ID="info_btn" runat="server" Visible="false" ImageUrl="~/Images/info.bmp" />
<asp:HyperLink Style="color: Black" runat="server" ID="fic_libelle" NavigateUrl='<%#DataBinder.Eval(Container.DataItem, "FIC_LIEN")%> '
Text='<%#DataBinder.Eval(Container.DataItem, "FIC_LIBELLE")%> '></asp:HyperLink>
<asp:Label ID="fic_info" runat="server" Visible="false" Text='<%#DataBinder.Eval(Container.DataItem, "FIC_INFO")%> '></asp:Label>
<asp:Label ID="fic_id" runat="server" Visible="false" Text='<%#DataBinder.Eval(Container.DataItem, "FIC_ID")%> '></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
Ce que j'aimerais obtenir , c'est la possiblité , en cliquant sur le bouton "link_app" de pouvoir cacher les groupes et les fichiers contenue dans cette application.
Et j'ai l'impression qu'il est impossible de gérer un Onclick dans un repeater , donc je suis bloquer =/
J'aurais donc voulu savoir si vous aviez quelques pistes pour m'aider a régler ça.
Merci d'avance !
|
|
vendredi 24 septembre 2010 à 10:28:17 |
Re : Cacher des parties de mon repeater .

Netlink
|
Bonjour,
Avez-vous regardé du côté de l'évènement ItemCommand du Repeater ?
Matt - Consultant .NET
|
|
vendredi 24 septembre 2010 à 10:43:37 |
Re : Cacher des parties de mon repeater .

Skunkz
|
J'ai effectivement essayé quelque chose de ce coté la, mais je n'ai pas réussi a récuperer l'index des boutons sur lequels j'ai cliqué.
|
|
vendredi 24 septembre 2010 à 12:33:26 |
Re : Cacher des parties de mon repeater .

Netlink
|
En reproduisant un exemple utilisant votre code, je n'ai effectivement pas réussi à déclencher l'évènement ItemCommand lors du click sur un ImageButton. Bizarre. Après une recherche sur Google il semble que ce ne soit pas possible.
En revanche, grâce à l'attribut OnClick du contrôle ImageButton, l'évènement lié au bouton se déclenche correctement.
Donc je pense que vous devriez regarder plutôt de ce côté-là. Vous pourrez dans tous les cas récupérer le contrôle à l'origine du click grâce au paramètre sender de la méthode qui va gérer votre évènement.
Matt - Consultant .NET
|
|
vendredi 24 septembre 2010 à 22:12:19 |
Re : Cacher des parties de mon repeater .

fonio
|
Bonjour, ce cas m'a interessé, alors voilà :
Code ASP.NET : <asp:ImageButton Style="color: Black" runat="server" ID="link_app" ImageUrl="~/Images/moinsapp.bmp" OnClick="link_grp_Click"/></asp:ImageButton>
Code Visual Basic :
Protected Sub liste_app_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles liste_app.ItemCreated
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
e.Item.ID = "Ligne_" & e.Item.ItemIndex
End If
End Sub
Protected Sub link_grp_Click(ByVal sender As Object, ByVal e As ImageClickEventArgs)
'MsgBox(sender.uniqueID)
Dim lig As RepeaterItem = Page.FindControl(sender.uniqueID.replace("$link_grp", ""))
lig.Visible = False
End Sub
Explication :
- j'utilise l'évenement "ItemCreated" du repeater pour donner une ID à chaque ligne, incrémentée via "e.Item.ItemIndex" (de 0 à nb de lignes - 1)
- j'utilise effectivement le paramètre "sender" de la méthode "link_grp_Click" pour récupérer l'uniqueID de l'ImageButton, à partir duquel je déduis celle de la ligne en effectuant un Replace
- j'instancie cette ligne gràce à "Page.FindControl(UniqueID de la ligne)", puis ".Visible = False" et le tour est joué !
|
|
dimanche 26 septembre 2010 à 13:48:45 |
Re : Cacher des parties de mon repeater .

jesusonline
|
Bonjour,
l'évenement ItemCommand fonctionne avec un ImageButton. Par contre, je pense qu'il faut renseigner la propriété CommandName.
Voici un exemple de code qui fonctionne :
ASPX :
Code ASP.NET :
<asp:Repeater runat="server" ID="rptPouet" OnItemCommand="rptPouet_ItemCommand">
<HeaderTemplate><ul></HeaderTemplate>
<FooterTemplate></ul></FooterTemplate>
<ItemTemplate>
<li>
<%#((Person)Container.DataItem).ToString() %>
<asp:ImageButton runat="server" CommandName="Foo" CommandArgument="<%#((Person)Container.DataItem).PersonId %>" ImageUrl="~/images/foo.png" />
</li>
</ItemTemplate>
</asp:Repeater>
<asp:label runat="server" ID="lblTest" />
Code Behind :
Code C# :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public class Person
{
public int PersonId { get; set; }
public String FirstName { get; set; }
public String LastName { get; set; }
public override string ToString()
{
return String.Format("{0} {1}", this.FirstName, this.LastName);
}
}
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.BindData();
}
}
protected void rptPouet_ItemCommand(object source, RepeaterCommandEventArgs e)
{
this.lblTest.Text = String.Format("CommandName = {0} ; CommandArgument = {1}", e.CommandName, e.CommandArgument);
}
private void BindData()
{
Person[] persons = new Person[]{
new Person(){ FirstName ="firstName1", LastName="lastName1", PersonId= 1},
new Person(){ FirstName ="firstName2", LastName="lastName2", PersonId= 2}
};
this.rptPouet.DataSource = persons;
this.rptPouet.DataBind();
}
}
Pour cacher une partie du repeater, il y a plusieurs solutions. Au niveau de l'itemCommand, on peut faire un e.Item.FindControl("xxx").Visible=false. Ou alors rebinder le repeater et s'abonner à l'evenement ItemDataBound.
____________________________________________
Cyril - MVP ASP.net - webSite
|
|
Cette discussion est classée dans : cacher, fichiers, groupes, repeater, parties
Répondre à ce message
Sujets en rapport avec ce message
Afficher la progression d'un téléchargement en asp [ par lolofb ]
Bonjour,Je n'ai aucun problème pour réaliser des upload de fichiers sur mon serveur (j'utilise aspSmartUpload).Par contre, je voudrais savoir comment
Afficher la progression d'un téléchargement en asp [ par lolofb ]
Bonjour,Je n'ai aucun problème pour réaliser des upload de fichiers sur mon serveur (j'utilise aspSmartUpload).Par contre, je voudrais savoir comment
Afficher la progression d'un téléchargement en asp [ par lolofb ]
Bonjour,Je n'ai aucun problème pour réaliser des upload de fichiers sur mon serveur (j'utilise aspSmartUpload).Par contre, je voudrais savoir comment
Afficher la progression d'un téléchargement en asp [ par lolofb ]
Bonjour,Je n'ai aucun problème pour réaliser des upload de fichiers sur mon serveur (j'utilise aspSmartUpload).Par contre, je voudrais savoir comment
generer fichiers HTML [ par maya ]
J'aimerais générer un fichier HTML à partir d'1 page asp...Jusqu'ici pas trop de gros soucis , si ce n'est que j'aimrais que ce fichier porte le nom d
generer fichiers HTML [ par maya ]
J'aimerais générer un fichier HTML à partir d'1 page asp...Jusqu'ici pas trop de gros soucis , si ce n'est que j'aimrais que ce fichier porte le nom d
generer fichiers HTML [ par maya ]
J'aimerais générer un fichier HTML à partir d'1 page asp...Jusqu'ici pas trop de gros soucis , si ce n'est que j'aimrais que ce fichier porte le nom d
generer fichiers HTML [ par maya ]
J'aimerais générer un fichier HTML à partir d'1 page asp...Jusqu'ici pas trop de gros soucis , si ce n'est que j'aimrais que ce fichier porte le nom d
Créer des fichiers PDF dynamiquement. [ par fellow ]
Quelqu' un connait-il une méthode pour créer dynamiquement des fichiers au format PDF ?C' est à dire sur le poste serveur évidemment ...Merci
cacher l'adresse email sous outlook [ par Arken ]
bonjour, j'aimerai savoir si on peut mettre un autre texte à la place de l'adresse email sous outlook, en faisant un mailto, en html si possible, et s
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|