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 :

Gridview qui est vide (et qui devrait pas)


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 118
    Par défaut Gridview qui est vide (et qui devrait pas)
    Bonjour

    Mon probleme est le suivant : un gridview qui n'affiche aucune donnée alors qu'il le devrait.
    L'execution en pas-a-pas me permet de dire que :
    - On appelle la bonne fonction de la DAL,
    - On exécute la bonne requête SQL,
    - Cette dernière est bien paramétrée,
    - Quand je teste cette requête directement dans la base, il y a des lignes de résultats.

    Le gridview -lui- ne s'affiche pas, et lorsque je regarde sa propriété gridview.rows.count je voit qu'elle est à zéro.

    Définition de la source de donnée (.aspx)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <asp:ObjectDataSource ID="ResDataSource" runat="server" TypeName="ReportBLL" SelectMethod="showTopError">
                        <SelectParameters>
                            <asp:Parameter Name="a_type" DefaultValue="R" Type="String" />
                            <asp:Parameter Name="a_value" DefaultValue="50" Type="String" />
                        </SelectParameters>
                    </asp:ObjectDataSource>
    Vient ensuite le GridView (.aspx)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
                    <%-- Gridview Resultat --%>
                    <asp:GridView ID="ResGridView" runat="server" AllowSorting="False" CssClass="FlashTable" DataSourceID="ResDataSource" AutoGenerateColumns="false" Width="1000px" Visible="true">
                        <Columns>
                            <asp:BoundField DataField="service_name" HeaderText="Service" ItemStyle-HorizontalAlign="Center" />
                            <asp:BoundField DataField="robot_name" HeaderText="Robot" ItemStyle-HorizontalAlign="Center" />
                            <asp:BoundField DataField="script_name" HeaderText="Scenario" ItemStyle-HorizontalAlign="Center" />
                            <asp:BoundField DataField="error_description_fr" HeaderText="Erreur" ItemStyle-HorizontalAlign="Center" />
                            <asp:BoundField DataField="nb" HeaderText="Occurences" ItemStyle-HorizontalAlign="Center" />
                        </Columns>
                    </asp:GridView>
                    <asp:Label ID="Label1" Text="" runat="server"></asp:Label>
    J'ai beau chercher je n'arrive pas à comprendre pourquoi une requête qui retourne des lignes ne remplit pas ce gridview.

    PS : Environnement Visual Studio 2005 sous Windows XP, base Oracle 10i sous Linux.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut
    Ça pourrais-tu être que ton GridView n'est pas binder sur tes données?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 118
    Par défaut
    Ca pourrait mais j'ai bien mis l'argument DataSourceID="ResDataSource" dans le gridview.
    C'etait d'ailleurs pour un test direct. Avec la methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ResGridView.datasourceID = ResDatasource.uniqueID
    ResGridView.databind()
    Dans resGridView_Init() j'obtiens le même résultat : rien.

  4. #4
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Moi, ce que je trouve bizarre c'est de ne pas voir de requête SELECT dans le ObjectDataSource. Est ce que la méthode "showTopError" fait office de requête ?

    Maintenant, j'ai plus l'habitude de SqlDataSource, mais je pense que ça dois fonctionner presque pareil.

    Peux tu vérifier que la requête renvoi bien des données, en amont ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 118
    Par défaut
    Oui effectivement, l'attribut TypeName="ReportBLL" indique le fichier BLL a utiliser pour les données et SelectMethod="showTopError" indique la fonction a lancer dans ce fichier.

    L'exécution en pas-à-pas me montre que je passe bien dans cette fonction et que la requête se fait correctement (pas d'erreur au niveau SQL).

    Je viens d'ailleurs de me rendre compte d'un truc pire : A la sortie de ma fonction de requetage je place un espion sur la datatable et je peux voir qu'elle contient des lignes o_O mais le gridview.rows.count reste a zéro ...

  6. #6
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Et tu nas rien d'autre comme code qui traine dans la page ou le CodeBehind qui pourrait avoir une influence sur le GridView ?

    Idée à la con : essaie de virer la classe CSS, c'est peut être tout simplement l'affichage qui passe pas.
    Regarde aussi le source de ta apge interprétée, pour voir ce qu'il fait avec le GridView. Tu devrais au moins avoir le début de la Table génére par le GridView. Si oui, le problème se situe dans la chargement des donéne, sinon, le problème se situe sur l'affichage du GridView lui même.

    Enfin, je te conseilelrais de faire une test en spécifiant aucune Columns, juste pour voir si le problème ne vient pas de là (avec un AutoGenerateColumns à True).

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

Discussions similaires

  1. [MySQL] backup qui est vide
    Par ikramta dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 15/04/2009, 10h51
  2. Ce qui est dans une table mais pas dans l'autre !
    Par youyoule dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/12/2007, 12h57
  3. inserer un numeric qui est vide?
    Par shinrei dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 14/03/2006, 21h39
  4. Champ vide = Liste Invisible mais c'est le SF qui est invisi
    Par samlepiratepaddy dans le forum Access
    Réponses: 13
    Dernier message: 29/09/2005, 15h45
  5. Ne pas afficher un champs qui est vide dans ma BD
    Par yoda_style dans le forum ASP
    Réponses: 3
    Dernier message: 27/04/2004, 11h40

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