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

Mise en page CSS Discussion :

Bootstrap 3.6.6 - Datatable styling


Sujet :

Framework CSS Bootstrap

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Points : 61
    Points
    61
    Par défaut Bootstrap 3.6.6 - Datatable styling
    Bonjour,

    je dispose d'une datatable bootstrap pour l'affichage du résultat. La table dispose de plusieurs classes comme la pagination, recherche textuelle ou encore nombre d'occurences à afficher par page.

    Lorsque je lance une requête, celle-ci déclenche une action struts 2 et retourne sur la même JSP qui popule la datatable. Le souci est qu'à ce moment même, la table perd tous ces styling, càd,
    il n'y a plus de pagination, ni recherche ni quoi que ce soit, uniquement une simple table avec une entête et ces données. (par contre dans le code source de la page, il n'y a pas de différences de style...)

    Comment résoudre ce problème ?

    Voici mes sources.

    JSP parent:
    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
     
    <head>
    	...
        <link href="css/bootstrap.min.css" rel="stylesheet">
        <link href="css/dataTables.bootstrap.min.css" rel="stylesheet">
        <link href="css/responsive.bootstrap.min.css" rel="stylesheet">
        <link href="css/sp-audit.css" rel="stylesheet">
        <link href="css/bootstrap-datetimepicker.min.css" rel="stylesheet">
    </head>
    <body>
    <div class="panel panel-primary">
       <div class="panel-heading">Résultat</div>
       <div class="panel-body">
           <div id="table"><%@ include file="/WEB-INF/jsp/result/result.jsp"%></div>
       </div></div>
     
            <script type="text/javascript" charset="utf-8" src="js/lib/jquery.js"></script>							
    	<script type="text/javascript" charset="utf-8" src="js/lib/jquery-ui.js"></script>					
    	<script type="text/javascript" charset="utf-8" src="js/lib/moment.min.js"></script>					
    	<script type="text/javascript" charset="utf-8" src="js/lib/jquery.dataTables.min.js"></script>		
    	<script type="text/javascript" charset="utf-8" src="js/lib/bootstrap.min.js"></script>					
    	<script type="text/javascript" charset="utf-8" src="js/lib/bootstrap-datetimepicker.min.js"></script>	
    	<script type="text/javascript" charset="utf-8" src="js/utils.js"></script>
    result.jsp:
    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
     
    <table id="resultTable" class="table table-hover table-striped table-condensed dt-responsive display" width="100%" cellspacing="0">
    	<thead>
    		<tr>
    			<th>ID</th>
    			<th>LABEL</th>
    	    </tr>
    	</thead>
    	<tbody>
    		 <s:iterator value="resultList" var="item" >
    			<tr>
    				<td><s:property value="#item.id"/></td>
    				<td><s:property value="#item.label"/></td>
                                    <td><img src="images/details.png" height="20" width="20"></td>
    			</tr>
    		</s:iterator>
    	</tbody>
    </table>
    utils.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    /*
     * Initialize bootstrap datatable
     */
    $(document).ready(function() {
    	$('#resultTable').DataTable();
    } );
    Merci !

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Points : 61
    Points
    61
    Par défaut
    Pour info.

    J'ai trouvé la cause du problème. Je dispose d'une 2e table dans la même JSP dont je modifie le contenu directement via le DOM avec un innerHTML. Il semble que datatable a un sérieux
    souci avec ca.

    Il ne reste plus qu'à trouver une solution...

  3. #3
    Membre habitué
    Avatar de Mell
    Femme Profil pro
    Développeuse Front-end
    Inscrit en
    Janvier 2011
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeuse Front-end
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2011
    Messages : 107
    Points : 143
    Points
    143
    Par défaut
    innerHTML remplace l'intérgralité de ta datatable, donc si la pagination est à l'intérieur, elle est écrasée.
    Si tu veux seulement ajouter des données dans un tableau, il va falloir faire le innerHTML dans un élément à l'intérieur du datatable

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Points : 61
    Points
    61
    Par défaut
    Merci pour ton retour !

    Après avoir passé le code au peigne fin, j'ai remarqué qu'il manquait un header (<th>) dans la table des résultats... et c'est uniquement pour ca que le formattage de la table était bousillé...


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

Discussions similaires

  1. ui.bootstrap - ng-style dans le header d'un accordion
    Par androz dans le forum AngularJS
    Réponses: 0
    Dernier message: 24/10/2013, 20h16
  2. Réponses: 1
    Dernier message: 04/04/2013, 19h33
  3. Datatable compatible twiter bootstrap
    Par okoweb dans le forum jQuery
    Réponses: 1
    Dernier message: 02/04/2013, 18h30
  4. [Datatable] Style conditionnel sur une ligne
    Par Hikage dans le forum JSF
    Réponses: 2
    Dernier message: 06/06/2011, 17h28
  5. Réponses: 5
    Dernier message: 19/07/2007, 16h51

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