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 :

Saut de page sur une datalist asp


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 48
    Points
    48
    Par défaut Saut de page sur une datalist asp
    Bonjour,

    Je dois faire un reporting en asp. (du style crystal report mais en codant en asp.net).

    J'utilise des Datalist pour lister les résultats de mes requètes. La liste s'affiche bien mais je n'arrive pas à gérer les sauts de pages. Quelqu'un a-til une idée ?

    Voici un exemple d'une de mes DataList.

    Merci d'avance


    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:DataList ID="dlAction" runat="server" BackColor="Gainsboro" Font-Names="Verdana" Font-Size="XX-Small" ForeColor="Navy" Width="798px" RepeatColumns="1" RepeatDirection="Horizontal" SelectedIndex="10" ShowFooter="False" ShowHeader="False" UseAccessibleHeader="True">
      <AlternatingItemStyle BackColor="Silver" BorderColor="#404040" />
        <HeaderTemplate> blabla </HeaderTemplate>
        <ItemTemplate>
          <table border="0" bordercolor="white" cellpadding="0" cellspacing="0" style="table-layout: fixed; font-weight: normal; font-size: xx-small; color: navy; font-family: verdana" width="797">
              <tr>
                 <td align="left" width="125">
                     <%# DataBinder.Eval(Container.DataItem, "Reference") %>
                 </td>
                 <td align="left" width="125">
                     <%# DataBinder.Eval Container.DataItem, "End_Date", "{0:dd/MM/yyyy}") %>
                 </td>
                 <td align="left" width="245">
                   <%# DataBinder.Eval(Container.DataItem, "Subject") %>
                 </td>
                 <td align="left" width="125">
                   <%# DataBinder.Eval(Container.DataItem, "LastName") %>
                 </td>
                 <td align="left" width="125">
                   <%# DataBinder.Eval(Container.DataItem, "CreatedBy") %>
                 </td>
               </tr>
             </table>
             <%# DataBinder.Eval(Container.DataItem, "memo") %>
             </ItemTemplate>
    </asp:DataList></td>

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Je déplace là où il faut


    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Points : 633
    Points
    633
    Par défaut
    Ca fait quelques mois que je n'ai plus toucher au crystal report, mais mes sauts de pages je les faisais dans le fichier crystal report.
    Tu as moyen de créer des groupes et autres sections, et tu as moyen de spécifier d'aller à la page après telle section ou tel groupe.

    Maintenant j'utilisais un DataSet et non une DataList, je ne sais pas trop comment tu fais.

    Fix

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    En fait je n'utilise pas Crystal Report. Je travaille sous Visual Studio et je génère un site web .NET. Donc le "corps" de mon report se trouve dans un fichier aspx. La Datalist c'est juste du code ASP/HTML qui permet d'afficher le contenu d'un DataSet. L'affichage se fait très bien mais mon Datalist ne gère pas les sauts de page, ça coupe n'importe où (en plein milieu du tableau) dès qu'il n'y a plus de place sur la page.

    Je sais qu'on peut gérer les sauts de page sur des tableaux HTML. Mais sur des Datalist ? Ou bien comment afficher un contenu de Dataset dans un fichier HTML tout en gérant les sauts de page (peut être que les Datalist ne sont pas la solution, je ne sais pas trop...)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Et bien... Personne n'a déjà fait ça ?

  6. #6
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    C'est quoi un saut de page dans une page Web ??

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Points : 633
    Points
    633
    Par défaut
    <br/>

    C'est vrai en meme temps, tu veux que cela se répette quand et comment, sinon t'as pas moyen de mettre un <br/> à la fin de chaque création de table ?

    </table><br/>

  8. #8
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    <br/> c'est un saut de ligne.

    bref, je comprend pas... ou alors on parle de l'impression...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Oups désolé retour de week end.

    Oui je parle de saut de page pour l'impression de la page asp.

    J'ai une page asp avec des datalist. Mais quand j'imprime cela coupe ma datalist en plein milieu d'une ligne. Ce qui n'est pas très lisible pour l'utilisateur.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Points : 633
    Points
    633
    Par défaut
    tu n'as pas moyen d'utiliser le crystalreportviewer ?
    Controle que tu mets sur ta page, et la ben je suppose que cela devrait etre le meme principe que la datalist, mais comme c'est spécifique pour la gestion de rapport, tu devrais pouvoir facilement gérer ce saut de page.

    Fix

  11. #11
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Si c'est un saut de page pour l'impression, il existe un style qui le fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <DIV STYLE="page-break-before:always"></DIV>

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Excusez moi de relancer le sujet si tard (je n'ai pas toujours accès au web en ce moment).

    Où dois-je placer ce style ? au niveau de quelle balise ? <TD>, <TR>, <TABLE> ?
    Je suis un peu newb en HTML...

  13. #13
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Je confirme, d'autant que la réponse était dans le post.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    J'arrive à faire un saut de page sur une page html simple à un endroit précis.

    Par contre pour faire un saut de page automatique sur une datalist (résultat d'une requète) ça ne marche pas. J'ai beau mettre des 'page-after-break: always' dans les styles (<table> <TD> <TR>), rien ne se passe.

    Il n'y a personne qui connait les datalist en asp qui pourrait m'aider ? je suis un peu découragé là...

  15. #15
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    = Auto Censure =

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    J'ai trouvé une solution.

    1) il ne faut pas mettre de position 'absolute' dans le style de la table, sinon aucun 'page-break' ne marche.
    2) dans la datalist, il faut utiliser la balise <SeparatorTemplate>, et placer à l'intérieur une table vide sur lequel on applique un style avec un 'page-break-after:auto'

    Ainsi, entre chaque ligne de la datalist, il y aura un saut de page automatique.

    Voici un exemple :
    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
     
    <td style="height: 30px; width: 630px;">
      <asp:DataList ID="dlPerimetre" runat="server" BackColor="gainsboro" Font-Names="Verdana" Font-Size="XX-Small" ForeColor="Navy" Width="630px">
      <AlternatingItemStyle BackColor="Silver" BorderColor="DarkBlue"/>
        <ItemTemplate>
          <table border="1" cellpadding="1" cellspacing="0" style=" font-weight: normal; font-size: xx-small; color: navy; font-family: verdana;" width="630">
            <tr>
              <td align="left" style="width: 146px;">
                <%#DataBinder.Eval(Container.DataItem, "societe")%>
              </td>
              <td align="left" style="width: 50px;">
                 <%#DataBinder.Eval(Container.DataItem, "cd")%>
              </td> 
              <td align="left" style="width: 30px;">
                 <%#DataBinder.Eval(Container.DataItem, "num3")%>
              </td>
            </tr>
          </table>
          <%#DataBinder.Eval(Container.DataItem, "Memo2")%>
        </ItemTemplate>
        <SeparatorTemplate>
          <table style ="page-break-after:auto">
          </table>
        </SeparatorTemplate>
      </asp:DataList>
    </td>

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

Discussions similaires

  1. [HTML] faire lien d'une page sur une autre mais a un endroit précis
    Par anies34 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 30/11/2007, 23h32
  2. [10] Gestion du saut de page sur imprimantes à aiguilles
    Par cramto dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 02/04/2007, 22h52
  3. cloneNode d'une page sur une autre ?
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 31/01/2007, 08h34
  4. plusieurs pages sur une seule
    Par Badaboumpanpan dans le forum Langage
    Réponses: 3
    Dernier message: 24/09/2006, 20h16
  5. rafraichir une page sur une liste de selection
    Par klimero dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 20/07/2006, 15h52

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