2013-04-18 11 views
12

Non sono sicuro se sto ripetendo la domanda se si guida al posto giusto :)problema di scorrimento in jQuery DataTable

Sto usando tabella dei dati e cercando di attuare lo scorrimento orizzontale e trovato questo link

http://www.datatables.net/examples/basic_init/scroll_x.html

ho usato queste proprietà nel mio codice della tabella dati e sto riscontrando problemi nell'interfaccia utente.

I miei dati hanno ottenuto la barra di scorrimento orizzontale ma le mie colonne non si sono espanse e non funzionano come previsto. Ho ottenuto una colonna vuota aggiuntiva sotto la mia colonna normale.

Fondamentalmente la mia interfaccia utente è incasinata. ho visto una discussione discussione vecchia sulla stessa!

DataTables fixed headers misaligned with columns in wide tables

sono questi problemi risolti ora alcuna soluzione?

================================

calcolata codice di esempio

$("#results").dataTable({ 
    "aaData": [ 
     //My data 
    ], 
    "aoColumns": [ 
     //My Columns 
    ], 
    "bPaginate": true, 
    "bSort": true, 
    "bFilter": false, 
    "bJQueryUI": false, 
    "bProcessing": true, 
    "sScrollX": "100%", 
    "sScrollXInner": "110%", 
    "bScrollCollapse": true 
}); 
+1

Pubblica il tuo codice . –

+0

aggiunto codice di esempio. non sto impostando alcuna larghezza esplicita per le colonne – user2067567

+0

Non c'è niente di sbagliato in * ciò che hai postato *. Quindi, qualcos'altro è la causa. Inoltre, hai controllato se hai davvero bisogno di "sScrollXInner": "110%" '? Controlla la nota su questa proprietà: * Nota anche che sScrollXInner è usato qui per forzare la tabella ad essere più ampia di quanto sia strettamente necessario. È possibile o meno voler includere questo parametro in base all'applicazione. * –

risposta

22

Ho avuto un problema simile, ma l'ho risolto in un modo diverso.

ho modificato il parametro sDom per avvolgere la tabella in un extra div:

sDom: 'r<"H"lf><"datatable-scroll"t><"F"ip>', 

Ho poi applicato i seguenti stili alla classe .datatable-scroll:

/** 
* Makes the table have horizontal scroll bar if its too wide for its container 
*/ 
.datatable-scroll { 
    overflow-x: auto; 
    overflow-y: visible; 
} 

http://datatables.net/usage/options#sDom

+1

La tua soluzione è fantastica. Ho testato molte soluzioni per risolvere il problema della testa di scorrimento e dell'allineamento del corpo, ma non ha funzionato in tutti i browser. Questa soluzione è perfetta, crossbrowser e non sovraccarica javascript con più chiamate di hacking. (Sto modificando la tua risposta per aggiungere un po 'più di informazioni con un altro esempio). Grazie mille! :) – xtrm

+0

La migliore risposta trovata finora dopo una faticosa ricerca su internet per scroll. Ma potresti aggiungere ** float: left; width: your-valuepx; posizione: relativa; ** in classe .datatable-scroll in modo da essere compatibile con i browser IE7 e IE8. Perché ho dovuto aggiungere questi valori. Inoltre, se hai solo bisogno di una barra di scorrimento orizzontale, dovresti usare ** overflow-x: scroll; overflow-y: hidden; ** altrimenti darà effetti collaterali in IE. Comunque, grazie mille amico !! –

Problemi correlati