Comment recuperer la valeur d'un champ à l'interieur d'un repeater [Résolu]

Sardonnen 89 Messages postés lundi 29 avril 2002Date d'inscription 6 décembre 2006 Dernière intervention - 7 nov. 2005 à 14:39 - Dernière réponse : mahaabdallah 7 Messages postés lundi 13 novembre 2006Date d'inscription 4 février 2008 Dernière intervention
- 11 déc. 2007 à 09:19
bonjour,
je passe de l'asp à l'asp.net et je bloque sur des betisses j'en suis sur...
dans un repeater je voudrais tester une variable avec le contenu d'un champ et si égalité afficher un autre repeater

<headertemplate>
Liste des équipes,
</headertemplate>

----

ic,
<%#Container.DataItem("lib_equipe")%>, <%
' ici je voudrais tester la variable avec le champ ident_equipe
if lst_equipe(\"ident_equipe\")=2 then
' si egalite afficher un autre repeater pour lister les noms de l'équipe
end if
%>

----

ic,
<%#Container.DataItem("lib_equipe")%>,

<footertemplate>

</footertemplate>


c'est le métier qui rentre mais j'ai beau surfer pour trouver des explications je ne trouve pas mon bonheur
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
Sardonnen 89 Messages postés lundi 29 avril 2002Date d'inscription 6 décembre 2006 Dernière intervention - 10 nov. 2005 à 15:56
3
Merci
voici une solution je ne sais si c'est la meilleur mais bon elle fonctionne.

<script runat="server" language="vb">
Sub Page_Load(Src As Object, E As EventArgs)
' connection a la base de donnees oracle '
dim cn_string as string
dim dbconn,sql,dbcomm,dbread
cn_string=ConfigurationSettings.AppSettings("cn")
dbconn=New OleDbConnection(cn_string)


If Not IsPostBack Then
dbconn.Open()
' requete liste des equipes '
sql="SELECT ident_equipe,lib_equipe FROM lib_equipe order by lib_equipe"
dbcomm=New OleDbCommand(sql,dbconn)
dbread=dbcomm.ExecuteReader(CommandBehavior.CloseConnection)
lst_equipe.datasource=dbread
lst_equipe.databind()
End If
End Sub


function test(id as string)
response.write (id)
' connection a la base de donnees oracle '
dim cn_string as string
dim dbconn,sql,dbcomm,dbread
cn_string=ConfigurationSettings.AppSettings("cn")
dbconn=New OleDbConnection(cn_string)


dbconn.Open()
' requete liste des equipes '
sql="select nom, prenom from acteur ac,acteur_equipe aceq "
sql=sql + " where ac.ident_acteur = aceq.ident_acteur and aceq.ident_equipe = " + id
dbcomm=New OleDbCommand(sql,dbconn)
dbread=dbcomm.ExecuteReader(CommandBehavior.CloseConnection)
return dbread
end function


</script>
<html>
<head>
<link rel="stylesheet" href="../css/publication_1.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Equipe</title>
</head>

<form runat="server">

<headertemplate>
Liste des équipes,
</headertemplate>

----

ic,
<%#DataBinder.Eval(Container.DataItem, "lib_equipe") %>
'>

<%#DataBinder.Eval(Container.DataItem, "nom") %>

,

<footertemplate>

</footertemplate>


</form>



</html>

Merci Sardonnen 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de Sardonnen
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 7 nov. 2005 à 16:07
0
Merci
Bonjour,


Sert toi de l'evenement onItemDatabind tu as la variable e.item qui correspond à la cellule du datagrid, tu pourras donc faire ce que tu veux dedans, mais attention il va tout falloir gerer par le code, c'est sympa, mais faut avoir l'habitude :)



<HR>



Cyril - MVS - MCP ASP
Commenter la réponse de jesusonline
Sardonnen 89 Messages postés lundi 29 avril 2002Date d'inscription 6 décembre 2006 Dernière intervention - 7 nov. 2005 à 17:02
0
Merci
Purée là je commence à devenir chauve a force de m'arracher les cheveux!!!!
j'essaye de comprendre le paralléle qu'il peut y avoir entre asp et asp.net et je ne pige pas. L'accès aux données est plus compliqué...

je cherche sur le net par rapport aux éléments que tu me fournis et je reste bredouille!!!
Si je crois comprendre il faut que je fasse

et dans le code
sub fct_test(e As ListDataBindEventArgs)
if e.listitem.value = 2
response.write ("équipe 2 affichée")
else
response.write (Container.DataItem("lib_equipe"))
end if
end sub

je pense qu'il y a 90% de faux mais là je me perds...
Commenter la réponse de Sardonnen
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 7 nov. 2005 à 17:41
0
Merci
non ce n'est pas plus compliqué ! bien au contraire :) mais c'est completement different d'avant beaucoup plus pro.


regarde les webcast dispo ici : http://ww.microsoft.com/France/msdn/



<HR>
Cyril - MVS - MCP ASP
Commenter la réponse de jesusonline
Sardonnen 89 Messages postés lundi 29 avril 2002Date d'inscription 6 décembre 2006 Dernière intervention - 8 nov. 2005 à 14:24
0
Merci
disons que c'est déjà ce que je fais en balayant msdn et entre autre avec une recherche sur la piste que tu m'as communiqué onItemDataBind et là je t'avoue que je ne trouve pas la réponse à ma question.
Je viens d'essayer les webcast comme tu me le conseilles, malgrès que je me sois enregistrer les e-demo ne veulent pas démarrer, (grrrrrr!!!!!)
j'espère que je ne titille pas trop ta patience avec mes questions de "bleue" mais pour le moment je galère de passer d'asp vers asp.net (on va dire que c'est le metier qui rentre)
Commenter la réponse de Sardonnen
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 8 nov. 2005 à 15:14
0
Merci
ben en fait onDatabinding, est un evenement du datagrid qui va etre declenche à chaque fois qu'une nouvelle ligne est binder, c'est à dire lié au donnée.

A partir de la tu as accés à la ligne en cours grace à la variable e.items, libre à toi de rajouter des composants à ce moment la.


<HR>
Cyril - MVS - MCP ASP
Commenter la réponse de jesusonline
Sardonnen 89 Messages postés lundi 29 avril 2002Date d'inscription 6 décembre 2006 Dernière intervention - 8 nov. 2005 à 15:45
0
Merci
ok , je viens de passer le premier cap de l'evenement ondatabind, maintenant je cherche pour e.item
je trouve des pistes de ce type là
ctype(e.item.DataItem, DataRowView).Row.ItemArray(1).ToString()
car je souhaite tester le deuxième champ de ma requete mais ça ne fonctionne pas bien...
si tu as une autre piste sinon je continue d'apprendre sur msdn
a+
Commenter la réponse de Sardonnen
Sardonnen 89 Messages postés lundi 29 avril 2002Date d'inscription 6 décembre 2006 Dernière intervention - 8 nov. 2005 à 17:04
0
Merci
je ne comprends pas pourquoi j'ai le message d'erreur suivant

BC30456: 'item' n'est pas un membre de 'System.EventArgs'

par rapport à ma ligne response.write

sub test_OnDataBinding(ByVal sender As Object ,ByVal e As EventArgs)
response.write(e.item.dataitem(1).value)
end sub

je me cherche...
Commenter la réponse de Sardonnen
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 8 nov. 2005 à 18:07
0
Merci
Ca vient de la signature, il me semble pas que le e de l'evenement DataBinding soit seulement un EventArgs, mais plutot un DataGridItemEventArgs



<HR>
Cyril - MVS - MCP ASP
Commenter la réponse de jesusonline
Sardonnen 89 Messages postés lundi 29 avril 2002Date d'inscription 6 décembre 2006 Dernière intervention - 9 nov. 2005 à 07:57
0
Merci
je regle un pb pour en retrouver un autre...
je viens de faire la modif que tu m'indiques mais je tombe sur ce message d'erreur ensuite

Message d'erreur du compilateur: BC30408: La méthode 'Public Sub test_OnDataBinding(sender As Object, e As System.Web.UI.WebControls.DataGridItemEventArgs)' n'a pas la même signature que le délégué 'Delegate Sub EventHandler(sender As Object, e As System.EventArgs)'.

Erreur source:


Ligne 38 : 
Ligne 39 : <form runat="server">
Ligne 40 : 
Ligne 41 :  <headertemplate>
Ligne 42 : 	 <table cellpadding="0" cellspacing="0">



ma procedure est

sub test_OnDataBinding(byval sender As Object ,ByVal e As DataGridItemEventArgs)
response.write(e.item.dataitem(1).value)
end sub
Commenter la réponse de Sardonnen
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 9 nov. 2005 à 10:34
0
Merci
J'ai regardé pour .net2 possible qu'il y au quelque petite difference avec .net1. Regarde du coté de la doc msdn :p http://msdn.microsoft.com tu auras surement des exemples de tout ca.


<HR>
Cyril - MVS - MCP ASP
Commenter la réponse de jesusonline
Sardonnen 89 Messages postés lundi 29 avril 2002Date d'inscription 6 décembre 2006 Dernière intervention - 9 nov. 2005 à 13:54
0
Merci
disons c'est ce que je recherche depuis le début de la semaine sur msdn mais en vain, je n'ai trouvé que des exemples de mise en place des controles de façon basic sans interaction derriere
Commenter la réponse de Sardonnen
mahaabdallah 7 Messages postés lundi 13 novembre 2006Date d'inscription 4 février 2008 Dernière intervention - 11 déc. 2007 à 09:19
0
Merci
Bonjour,

J'utilise Visual web developper 2005 et au j'essaye d'afficher ma grid lais j'ai une erreur au niveau de l'affichage d'un bouton de type
Message d'erreur du compilateur: BC30456'Titre1BtnSupprimer_Click' n'est pas un membre de 'ASP.test_titre1_aspx'.

j'arrive pas à résoudre ce problème une personne a une idée?

Lella
Commenter la réponse de mahaabdallah

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.