IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Problème avec un repeater et l'affichage de données d'une autre table


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 196
    Points : 53
    Points
    53
    Par défaut Problème avec un repeater et l'affichage de données d'une autre table
    Bonjour, je suis en train de réaliser une site avec plusieurs repeater imbriqués.
    Jusqu'ici tout va bien mais je me retrouve face à un problème.

    Voici une partie du code déjà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     <asp:Repeater runat="server" ID="RepeaterFamille">
                    <ItemTemplate>
     
                                    <%# Eval("FAM_strINTITULE")%></b>
     
                        <asp:Repeater ID="RepeaterTableauxGarde" runat="server">
                            <ItemTemplate>
     
                                            <%# Eval("TABG_strINTITULE")%></i>
     
                                        <asp:Repeater ID="RepeaterDefJour" runat="server">
                                            <ItemTemplate>
                                                <a href='<%# GetUrl((int)DataBinder.Eval(Container.DataItem, "DEFJ_intID"),(int)DataBinder.Eval((Container.Parent.Parent as RepeaterItem).DataItem, "TABG_intID_FAMILLE"))%>'>
                                                     <%# PersonnelData((int)DataBinder.Eval(Container.DataItem, "DEFJ_intID_PERSONNEL")) %>
                                                </a>
                                            </ItemTemplate>
                                            <SeparatorTemplate>
                                                <br />
                                            </SeparatorTemplate>
                                        </asp:Repeater>
     
     
                            </ItemTemplate>
                        </asp:Repeater>
     
                    </ItemTemplate>
                </asp:Repeater>

    Mon problème se trouve au niveau du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <%# PersonnelData((int)DataBinder.Eval(Container.DataItem, "DEFJ_intID_PERSONNEL")) %>
    Voici le code behind qui l'accompagne où je récupère en fonction de l'id du personnel le parametre pour ensuite pouvoir afficher le prenom et le nom du personnel en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     public string PersonnelData(int IdPersonnel)
            {
                T_TABG_PERSONNEL lPers = db.T_TABG_PERSONNEL.SingleOrDefault(d => d.PER_intID == IdPersonnel);              
                    return lPers.PER_strPRENOM_NOM;
     
            }
    Mon problème est que j'ai le droit à une erreur qui me dit que la référence do'bjet n'est pas défini à une instance do'bjet.
    Comme j'affiche plusieurs personnel parfois je me dis que cela vient peut etre du fait que je passe un id en parametre et pas un objet complet et que c'est cela qui pose problème... Mais je ne vois pas comment faire cela...

    Merci d'avance pour votre aide et si vous avez des questions n'hésitez pas !

  2. #2
    Membre éclairé Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Points : 755
    Points
    755
    Par défaut
    Salut,
    Tu as l'erreur car tu essaie d’accéder
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lPers.PER_strPRENOM_NOM
    à un objet de référence null. A mon avis SingleOrDefaut te retourne un objet null, enfin pour être sur peut tu nous le confirmer en faisant mode debug.

    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 196
    Points : 53
    Points
    53
    Par défaut
    Bah justement je parcours en fait en fonction d'une famille et d'un tableau comme on peut le voir avec mon repeater.
    Mais chacun des personnels à forcément un prenomnom (je l'ai imposé dans sqlserver).
    Si je teste ça me retourne bien une valeur mais je pense que c'est parce qu'il test pour chacune des familles et toutes les familles n'ont pas forcément un personnel et c'est là que le pb doit se poser.

    Voilà la 'tête' de ma page (cf pj) :

    on a un calendrier et lorsqu'on clic on charge pour chacune des familles et pour une date précise le personnel qui existe si du personnel existe sinon on affiche rien.

    je sais pas si 'est plus clair...

    Edit :

    j'ai tenté en faisant un test avant pour vérifier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     public string PersonnelData(int IdPersonnel)
            {
                T_TABG_PERSONNEL lPers = new T_TABG_PERSONNEL();
                lPers = db.T_TABG_PERSONNEL.SingleOrDefault(d => d.PER_intID == IdPersonnel);
                if (lPers.PER_strPRENOM_NOM != null)
                    return lPers.PER_strPRENOM_NOM;
                else
                    return " ";
     
            }
    Mais j'ai le droit à la même erreur dans le test du lPers.PER_strPRENOM_NOM.


    C'est bon problème résolu cela venait d'une erreur dans la bdd...
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. update avec des données d'une autre table
    Par corto31 dans le forum Requêtes
    Réponses: 13
    Dernier message: 10/07/2008, 16h40
  2. Affichage de donnée sur une autre fenetre
    Par leroidje dans le forum WinDev
    Réponses: 4
    Dernier message: 12/12/2007, 16h52
  3. UPDATE avec les données d'une autre table
    Par henri3m dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/10/2007, 12h09
  4. Réponses: 14
    Dernier message: 05/09/2006, 17h01
  5. Réponses: 3
    Dernier message: 18/07/2006, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo