hemma731
Messages postés8Date d'inscriptionmardi 11 novembre 2008StatutMembreDernière intervention31 mars 2010
-
31 mars 2010 à 17:30
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 2010
-
5 avril 2010 à 00:12
Bonjour!
J'ai deux repeaters imbriqués qui sont liés à deux sources de données sqlDataSource distinctes.
Dans le premier repeater, je récupère la liste des rubriques, avec le nombre d'articles dedans et dans le deuxième, je récupère le nombre d'articles dans les sous-rubriques pour la rubrique donnée.
Je voudrais à présent calculer le pourcentage du nombre d'article d'une sous-rubrique dans la rubrique. Pour cela, j'ai besoin du nombre total d'articles dans la rubrique (valeur que je récupère dans le repeater parent).
Comment puis-je dans le page .aspx, lier la valeur que je récupère via le repeater parent :
sachant que NbArticlesRubrique est une colonne de ma source de données 1 (repeater parent) et NbArticlesSsRubrique de ma source de données 2 (repeater enfant)
hemma731
Messages postés8Date d'inscriptionmardi 11 novembre 2008StatutMembreDernière intervention31 mars 2010 31 mars 2010 à 18:36
Personne n'a jamais eu ce problème ? Est-ce que c'est au moins possible ? Sinon, s'il y a une autre solution en passant par le code behind, j'accepte toutes suggestions...
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 20101 5 avril 2010 à 00:12
Bonjour,
Je ne suis pas sûr de comprendre ta présentation.
Si ton problème est de déterminer en pourcentages le nombre d'items de chaque rubrique par rapport à l'ensemble des items, tu peux par exemple procéder ainsi dans le code (ici en vb), en supposant que tu affiches le résultat dans un label (ici "labelres") posé dans ton premier repeater :
Private y As Integer
Protected Sub Repeater2_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs)
y = y + 1
End Sub
Protected Sub Repeater1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs)
Dim n As Integer = Repeater1.Items.Count
For Each ri As RepeaterItem In Repeater1.Items
Dim r2 As Repeater = ri.FindControl("Repeater2")
Dim n2 As Integer = r2.Items.Count
Dim l As Label = ri.FindControl("Labelres")
l.Text = Math.Round(n2 / y * 100, 2) & "%"
Next
End Sub