<HeaderTemplate> et Container.DataItem...

Signaler
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Bonjour, comment faire pour afficher une donnée de dans le <headertemplate> telque le cas ci-dessous,  lorsque la source de donnée viens d'un dataset :
<HeaderTemplate>
<%#Container.DataItem("Titre_Menu")%>
</HeaderTemplate>
Car quand on le met dans le bah sa le repete a chaque fois :s
Merci beaucoup.

11 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonjour,

euh ... c'est un peu normal que ca se repete à chaque fois c'est le but du jeu .... et tu peux pas mettre ca dans le headerTemplate car justement il se repete pas lui ...

<hr />Cyril - MVS - MCP
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

;o) Merci j'avais bien compris le but mais en voulais savoir comment faire pour afficher un seul element une fois, dans un label par exemple.
J'ai une classe qui me renvoie un dataset :

...
sqlCon.Open();

SqlDataAdapter da =
new
SqlDataAdapter();
da =
new
SqlDataAdapter(
"select * from forum_sujet where suj_categorie_id='"+ CatId +
"'", sqlCon);

DataSet ds =
new
DataSet();
da.Fill(ds);

return ds;
...

Et je le recupere comme sa :
...
ClsForum
lire =
new
ClsForum(id);

DataSet ds = lire.MessageLire();
...

DataList1.DataSource = ds;
DataList1.DataBind();

Et je pensais le recuperer dans un truc du genre :
Label2.Text = ds.Tables["forum_sujet"

].Rows.....

Merci.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
euh, je comprend pas, tu poses la question et tu te répond aussi ?

Label2.text = ds.Tables["forum"].rows[34]["toto"] fonctionne trés bien

<hr />Cyril - MVS - MCP
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

Non car quand je met sa, il  me met "La référence d'objet n'est pas définie à une instance d'un objet."
Hors je crée bien l'instance du dataset :

ClsForum

lire =
new
ClsForum(id);

DataSet ds =
new
DataSet();
ds = lire.MessageLire();
Label2.Text = ds.Tables[
"forum_sujet"].Rows[0][
"suj_titre"].ToString();

Merci.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Met un point d'arret et regarde ce qui vaut null c'est ce qu'il y a de plus simple :-)

<hr />Cyril - MVS - MCP
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

Le point sur :
ds.Tables["forum_sujet"].Rows[0]["suj_titre"].ToString()

Valeur :
ds.Tables["forum_sujet"] est null

Je vois pas pourquoi il est null, ma table est bien rempli et lorsque j'enleve le label et que j'affiche dans le datalilst comme ceci :
<%

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

Tout s'affiche bien.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Peut etre que tu as plusieurs table dans ton dataset ... ds.Tables[0] te dit quoi ?

<hr />Cyril - MVS - MCP
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

oui j'ai plusieurs tables :  da =

new
SqlDataAdapter(
"select * from forum_message, forum_sujet, forum_utilisateur where mess_suj_id='" + SujId + "' and utilisateur_id mess_utilisateur_id and suj_id mess_suj_id", sqlCon);ds.Tables[0]  ne me dis rien de special, il est censé me dire quoi ?
Merci pour ton aide.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Si ton dataset contient qqchose il doit contenir au moins une table donc il y a un problème lors de la récupération de tes données.

<hr />Cyril - MVS - MCP
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

Non bah ecoute je n'y arrive pas du moment que je met sa comme sa :
<% #
DataBinder.Eval(Container.DataItem,
"mess_message")%>

Il ni a pas de soucis tout s'affiche correctement, donc c'est qu'il trouve bien mes tables etc...

mais si je le met dans un label comme ceci :

DataSet ds =
new
DataSet();
ds = lire.MessageLire();
Label2.Text = ds.Tables[
"forum_sujet"].Rows[0][
"suj_titre"].ToString();

il tappe l'erreur comme quoi ce n'est pas instancié.

Donc resultat, j'abandonne on est pas à une requete pret je vais faire un select a part pour recuperer que le titre.
Merci pour le temps que tu as passé pour moi pour me repondre.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
s'il y affiche qqchose avec ta "solution" alors qu'il n'y aucune donnée c'est que tu as un problème avec ta méthode lire.MessageLire() regarde en pas à pas ce qui s'y passe exactement, car le comportement que tu as montre un problème ...

ds.Tables.Count vaut combien ?

<hr />Cyril - MVS - MCP