Comment recuperer la valeur d'un champ à l'interieur d'un repeater

Résolu
Sardonnen Messages postés 89 Date d'inscription lundi 29 avril 2002 Statut Membre Dernière intervention 6 décembre 2006 - 7 nov. 2005 à 14:39
mahaabdallah Messages postés 5 Date d'inscription lundi 13 novembre 2006 Statut Membre Dernière intervention 4 février 2008 - 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

13 réponses

Sardonnen Messages postés 89 Date d'inscription lundi 29 avril 2002 Statut Membre Dernière intervention 6 décembre 2006
10 nov. 2005 à 15:56
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>
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
7 nov. 2005 à 16:07
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
0
Sardonnen Messages postés 89 Date d'inscription lundi 29 avril 2002 Statut Membre Dernière intervention 6 décembre 2006
7 nov. 2005 à 17:02
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...
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
7 nov. 2005 à 17:41
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sardonnen Messages postés 89 Date d'inscription lundi 29 avril 2002 Statut Membre Dernière intervention 6 décembre 2006
8 nov. 2005 à 14:24
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)
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
8 nov. 2005 à 15:14
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
0
Sardonnen Messages postés 89 Date d'inscription lundi 29 avril 2002 Statut Membre Dernière intervention 6 décembre 2006
8 nov. 2005 à 15:45
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+
0
Sardonnen Messages postés 89 Date d'inscription lundi 29 avril 2002 Statut Membre Dernière intervention 6 décembre 2006
8 nov. 2005 à 17:04
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...
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
8 nov. 2005 à 18:07
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
0
Sardonnen Messages postés 89 Date d'inscription lundi 29 avril 2002 Statut Membre Dernière intervention 6 décembre 2006
9 nov. 2005 à 07:57
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
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 nov. 2005 à 10:34
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
0
Sardonnen Messages postés 89 Date d'inscription lundi 29 avril 2002 Statut Membre Dernière intervention 6 décembre 2006
9 nov. 2005 à 13:54
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
0
mahaabdallah Messages postés 5 Date d'inscription lundi 13 novembre 2006 Statut Membre Dernière intervention 4 février 2008
11 déc. 2007 à 09:19
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
0
Rejoignez-nous