Datalist avec pour source une procédure stockée ne renvoyant pas d'enregistremen

Signaler
Messages postés
9
Date d'inscription
vendredi 16 septembre 2005
Statut
Membre
Dernière intervention
16 février 2010
-
Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
-
Bonjour,

2 questions qui découlent l'une de l'autre :

1°) comment dans un "datalist" avec un "DataSourceID" basé sur une Procédure stockée faire apparaître le label, ici nommé "LabelValeurEcran" avec par exemple le texte "aucun" si la procédure stockée ne ramène aucun enregistrement.
En effet dans ce cas la partie <HeaderTemplate> du datalist apparait bien mais pas la partie ce qui est normal puisqu'il n'y a pas d'enregistrement.

J'ai essayé dans le codebehind de traiter les évènements "ItemDataBound", "itemCreated","init", "load" et "prerender" du "datalist" mais je ne peux atteindre ce label quand la procédure stockée ne renvoie aucun enregistrement, voici le code :
Dim etat As Label = CType(e.Item.FindControl("Ecran"), Label)
 If etat IsNot Nothing Then
   etat.Text = "aucun"
 End If

mais ce code fonctionne très bien dès qu'il y a au moins un enregistrement de retourné par la procédure stockée.

Voici le code de la partie "datalist"

" 
               SelectCommand="MonitoringEcran" SelectCommandType="StoredProcedure" InsertCommandType="Text" >
 <SelectParameters>
   
   
   
 </SelectParameters>


........


 <HeaderTemplate>
  
  
 </HeaderTemplate>
 
  ' Width="90" >
  
 
 


2°) n'y arrivant pas j'ai ajouté dans ma procédure stockée un paramètres @acces qui me retourne le chiffre 0 s'il n'y a pas de lignes de retournées qui correspond ici à
""

mais je ne sais ni récupérer cette info ni où l'a traiter pour faire apparaître le label, ici nommé "LabelValeurEcran" avec par exemple le texte "aucun".

D'avance merci de vos réponses.

6 réponses

Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
3
Messages postés
9
Date d'inscription
vendredi 16 septembre 2005
Statut
Membre
Dernière intervention
16 février 2010

Bonsoir et merci tpoinsot ,

tout à fait ce qu'il me fallait, et pour ma culture personnelle savez-vous comment récupérer la valeur du paramètre retournée par la procédure stockée ?

et encore merci
Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
3
bonjour, et euh...? quel paramètre ? tu indiques une requête au datalist et pour le reste tu t'en laves les mains. Non ?

thip
Messages postés
9
Date d'inscription
vendredi 16 septembre 2005
Statut
Membre
Dernière intervention
16 février 2010

Bonsoir,

la procédure stockée peut à la fois renvoyer les résultats d'une requête ET un paramètre, déjà dès SQL 2000 on pouvait le faire;

j'ai déjà déclaré le paramètre (voir mon code lors du premier message), ce que je ne sais pas faire c'est comment récupérer le contenu de ce paramètre "acces" en ASP.NET VB

D'avance merci
Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
3
salut,
crée un handler sur le onselect du datasource, et dans ton code tu auras la valeur du paramètre, à chaque fois que le select est exécuté.

thip
Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
3
c'est "onselected"

thip