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

cs_prady92 Messages postés 9 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 16 février 2010 - 24 sept. 2009 à 18:27
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 - 30 sept. 2009 à 11:50
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

tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
25 sept. 2009 à 08:44
0
cs_prady92 Messages postés 9 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 16 février 2010
26 sept. 2009 à 00:29
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
0
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
28 sept. 2009 à 10:47
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
0
cs_prady92 Messages postés 9 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 16 février 2010
30 sept. 2009 à 01:22
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
0

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

Posez votre question
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
30 sept. 2009 à 11:37
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
0
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
30 sept. 2009 à 11:50
c'est "onselected"

thip
0
Rejoignez-nous