begin process at 2012 05 27 13:37:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

WebControl

 > 

afficher / masquer boutton dans Datalist d'après item


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

afficher / masquer boutton dans Datalist d'après item

mercredi 4 février 2009 à 12:41:15 | afficher / masquer boutton dans Datalist d'après item

jonf

Bonjour,

j'ai passé toute la nuit et là j'avoue ne pas trouver le bout qui me manque... j'espère que vous pourrez m'aider !

J'utilise donc un datalist pour afficher une liste de produits depuis une table SQL. jusque là tout va bien.
Pour chaque enregistrement, j'ai label qui m'affiche "VENDU" ou "" (vide), venant directement de ma table.
en dessous, j'ai un bouton "commander", qui en fonction du contenu de mon label précédent s'affiche ou ne s'affiche pas.
si VENDU, je n'affiche pas le bouton, si vide, j'affiche le bouton.

donc pour arriver à cela, je pensais accéder dans l'action "ItemDatabound" de mon Datalist... en utilisant une boucle pour chaque ligne / chaque enregistrement afin de controler mon bouton.

ce qui donne en pratique :

Protected

Sub DataList1_ItemDataBound...

For

Each ligne As DataListItem In DataList1.Items
Dim etat As Label = CType(ligne.FindControl("label4"), Label)
Dim ajoute As HyperLink = ligne.FindControl("ajoute")

If
etat.Text = "VENDU"Then
    
ajoute.Visible = False
EndIf

Next

end sub

Le problème qui en ressort, c'est que pour mon dernier enregistrement (toujours sur le dernier quelque soit le nombre d'enregistrements), mon bouton n'est pas controlé : si j'ai "VENDU" dans le label, mon bouton s'affiche quand même.
Par contre tous les autres enregistrements fonctionnent bien

J'ai essayé de multiple méthode pour faire la boucle mais je retombe systématiquement sur le même problême...

une idée ? il manque quelque chose ?

sous visual studio 2005

Merci de vos lumières  !

Jonat
mercredi 4 février 2009 à 12:49:58 | Re : afficher / masquer boutton dans Datalist d'après item

jonf

bon ben il fallait que je poste le message pour trouver à le résoudre.

Au lieu de mettre ma boucle dans ItemDatabound, je l'ai mise dans "Prerender" tel que je viens de le voir dans un autre post...

mais je m'interroge toujours pour savoir pourquoi mon dernier enregistrement n'est pas pris en compte dans ItemDatabound...
mercredi 4 février 2009 à 22:15:12 | Re : afficher / masquer boutton dans Datalist d'après item

ggtry

Bonsoir,

Sur l'itemdatabound, tu ne dois pas faire une boucle pour atteindre les données de tes contrôles.
En fait, l'itemdatabound opère en quelque sorte lui même la boucle puisqu'il a lieu à chaque fois qu'un item de ta datalist a été lié aux données.
Tu pouvais faire simplement :

Protected Sub DataList1_ItemDataBound...
Dim etat As Label = CType(e.item.FindControl("label4"), Label)
Dim ajoute As HyperLink = ctype(e.item.FindControl("ajoute"), HyperLink)
If etat.Text = "VENDU" Then
     ajoute.Visible = False
EndIf
End Sub

La boucle que tu ajoutais avait donc lieu à chaque itemdatabound, mais sur une liste partielle. Or, lors de l'itemdatabound, l'item bindé n'est pas encore compté parmi les items de ta datalist. Donc, lors du dernier itemdatabound, ta boucle se faisait du premier item à l'item n-1. Lors de l'avant-dernier itemdatabound, elle s'était déjà faite, mais du premier item à l'item n-2, etc. C'est pourquoi ton dernier item ne pouvait jamais être traité. 

GGtry



Cette discussion est classée dans : bouton, affiche, label, datalist, vendu


Répondre à ce message

Sujets en rapport avec ce message

Bouton dans le headertemplate d'un datalist [ par echzien ] Bonjour,Je souhaiterais savoir s'il y a moyen de modifier les propriétés d'un bouton qui se trouve dans le header template d'un datalist. Je m'expliqu Datalist et décimale [ par coulis ] Bonjour à tous,Dans un datagrid, je peux ajuster un nombre avec l'argument suivant pour qu'il m'affiche une donnée numéric sans décimale :DataFormatSt DataList ne s'affiche pas [ par IslandMan974 ] Bonjour,J'essaye recuperer et d'afficher le contenu de mon XML dans une datalist.Pour ce qui est de la recuperation tout marche bien.Je reussi a creer probleme datagrid sous visual studio.net 2003 [ par piboo76 ] Alors j'ai un datagrid qui affiche mes données en fonction d'une année et d'un intervalle de lettre que j'ai précedemment saisis et après avoir cliqué session [ par mohamed222222 ] salut !!!J'ai 2 page aspx!!dans la page 1 j'ai 2 bouton(A et B)dans la page 2 j'ai 1 label(label1)Ce que je cherche :Quand je clique sur le bouton A j ASP.NET et C# - Paramétrage contrôl Label dans un ItemTemplate de DataList [ par zouzou0607 ] Bonjour,je cherche à accéder en code behind à un controle Label dans l'ItemTemplate d'un DataList afin d'y afficher un texte dynamiquement s'il y a li Evenements dans DATALIST [ par mwahid ] Bonjour à tous, J'ai une DataList contenant un bouton. A ce bouton j'ai défini la propriété CommandName, pour intercepter cette commande dans l'événem pop up [ par ProphetKy ] Bonjour,Est il possible d'écrire dans un label depuis une page pop-up.En gros j'ai une fenetre pop up calendar qui s'affiche et je voudrais que la dat bouton datalist [ par hugo7 ] Bonjour j'ai un datalist qui contient une colonne linkbutton.je voudrais récuperer le text du linkbutton sur lequel l'utilisateur a cliquer.J'ai essay


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales