2016-11-09 6 views
0

Kann mir jemand sagen, wie eine vertikale Bildlaufleiste django-tables2 hinzuzufügen stattvertikale Bildlaufleiste django-tables2

Page 1 of 2 Next 25 of 49 vehicles

der Tabelle im unteren Bereich aufweist.

tables.py

''' 
Created on 28 Oct 2016 

@author: JXA8341 
''' 
import django_tables2 as tables 
from .models import Vehicle 

class CheckBoxColumnWithName(tables.CheckBoxColumn): 
    @property 
    def header(self): 
     return self.verbose_name 

class VehicleTable(tables.Table): 

    update = tables.CheckBoxColumn(accessor="pk", 
            attrs = { "th__input":{"onclick": "toggle(this)"}}, 
            orderable=False) 

    class Meta: 
     model = Vehicle 
     fields = ('update', 'vehid') 

     # Add class="paleblue" to <table> tag 
     attrs = {'class':'paleblue'} 

screen.css

table.paleblue + ul.pagination { 
    font: normal 11px/14px 'Lucida Grande', Verdana, Helvetica, Arial, sans- serif; 
    overflow: scroll; 
    margin: 0; 
    padding: 10px; 
    border: 1px solid #DDD; 
    list-style: none; 
    } 
div.table-container { 
    display: inline-block; 
    position:relative; 
    overflow:auto; 
    } 

table.html

<div class='vehlist'> 
    <script language="JavaScript"> 
     function toggle(source) { 
      checkboxes = document.getElementsByName('update'); 
      for(var i in checkboxes) 
       checkboxes[i].checked = source.checked; 
     } 
    </script> 
     <form action="/loadlocndb/" method="POST" enctype="multipart/form-data"> 
      {% csrf_token %} 
      {% render_table veh_list %} 



      <h4> Location database .csv file</h4> 
      {{ form.locndb }} 
      <input type="submit" value="Submit" /> 
     </form> 
    </div> 

Ich habe überall gesucht, aber ich kann nicht gerade zu bekommen scheinen antwort, oder gibt es ein besseres Tabellenmodul, mit dem ich das Array und die Checkboxen anzeigen kann?

Antwort

0

Für alle im selben Boot dachte ich es aus.

Ich drehte deaktiviert Paginierung

RequestConfig(request, pagination=False).configure(veh_list)

dann ich die Tabelle in einem <div> im HTML-Template

gewickelt
<div style="width: 125px; height: 500px; overflow-y: scroll;"> 
     {% render_table veh_list %} 
</div> 

Die <div> dann eine Scrollbar-Schnittstelle auf die gesamte Tabelle hinzufügt, ich persönlich Ich hätte gerne den Header immer oben behalten, aber das ist die beste Lösung, die ich mir vorstellen konnte.

Verwandte Themen