[C# - ASP .NET2] Boucle sur Datalist ?

Résolu
cs_Araldite Messages postés 7 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 19 mai 2006 - 3 mai 2006 à 17:27
cs_Araldite Messages postés 7 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 19 mai 2006 - 5 mai 2006 à 11:25
Bonjour,

Je me casse le dents depuis quelques jours.
je m'explique :

En gros je veux afficher un "type d'article" et au dessous la liste des articles correspondants a l'aide d'un datalist (maListePart) dont les templates sont définis dans l'aspx.

Sachant que la méthode GetDataSourcePart retourne bien le dataview escompté, je n'arrive pas a obtenir ce que je veux a savoir :

type
article
article
typr
article
etc...

Voici le code :


while (drTypes.Read())
{

this.tid =
Convert.ToInt16(drTypes[
"type_id"]);

HyperLink monLinkType =
new
HyperLink();

TableRow tTr =
new
TableRow();

TableCell tTd =
new
TableCell();
monLinkType.Text = drTypes[
"type_libelle"].ToString();
monLinkType.NavigateUrl =
"produit.aspx?cid=" +
this.cid +
"&pid=" +
this.pid +
"&tid=" + drTypes [
"type_id"].ToString();
tTd.Controls.Add(monLinkType);
tTr.Cells.Add(tTd);
maTable.Rows.Add(tTr);


TableRow aTr =
new
TableRow();

TableCell aTd =
new
TableCell();



this.maListePart.DataSource =
this.getDataSourcePart(mesRequetes.getArticlesByProduitType(
this.cid,
this.pid,
this.tid));
this.maListePart.DataBind();

aTd.Controls.Add(this.maListePart);
aTr.Cells.Add(aTd);
maTable.Rows.Add(aTr);

}

Si kkun aune idée la dessus

Merci a vous,

Aral.

7 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
4 mai 2006 à 11:08
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
3 mai 2006 à 19:18
Bonjour,

c'est normal, tu ne peux pas faire ca comme ca !

il faut construire ton datalist dans ta boucle

datalist dl = new DataList();
dl.etc...


<HR>
Cyril - MVS - MCP
0
cs_Araldite Messages postés 7 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 19 mai 2006
4 mai 2006 à 10:25
Bonjour,

Merci de ta réponse Cyril.

J'ai effectivement dèjà instancié mon datalist dans la boucle mais sans résultat au niveau de l'affichage.

Crois-tu que cela puisse être parce que le datalist est déclaré dans la page aspx ?

Je continue de chercher...

Aral.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
4 mai 2006 à 10:52
oui c'est ce que je viens de dire, le problème est que tu n'instancies pas ton controle dans la boucle mais dans la page ...


<HR>
Cyril - MVS - MCP
0

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

Posez votre question
cs_Araldite Messages postés 7 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 19 mai 2006
4 mai 2006 à 11:01
Ok... désolé :)

Mais Comment faire alors pour attribuer a mon Datalist les itemTemplate et AlternateItemTemplate souhaités sachant qu'ils contiennent des LinkButton et autres controles servers?

Je suis désolé, si tu me dis que la réponse est simple a trouver sur google (qui est aussi mon ami et que j'ai déjà consulté) je comprendrai ;)

Aral.
0
cs_Araldite Messages postés 7 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 19 mai 2006
4 mai 2006 à 11:15
Je me penche la dessus,

Merci moulte :)

Aral.
0
cs_Araldite Messages postés 7 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 19 mai 2006
5 mai 2006 à 11:25
J'ai enfin trouvé ma solution qui est la suivante :

Dans la webform :


while (drTypes.Read())
{

maListe.ItemTemplate = LoadTemplate(
"~\\templates\\template_anonyme.ascx");
maListe.DataSource =
this.getDataSourcePart(mesRequetes.getArticlesByProduitType(
this.cid,
this.pid,
this.tid));
}

Et le template ascx en VB :


<%
@
Language
=
"VB" %>

<%
# DataBinder.Eval(
CType(Container, DataListItem).DataItem,
"mon_champs_bind_contenu_dans_ma_datatable") %>

Merci encore pour l'orientation,

Bon dev,

Aral
0
Rejoignez-nous