Problème
Lorsque vous utilisez le sScrollX
, sScrollXInner
et/ou sScrollY
pour obtenir un tableau d'en-tête fixe dont le contenu interne défile, les en-têtes du tableau ne sont pas alignés avec le reste du corps dans Chrome et IE (7/8/9). En revanche, Firefox les affiche parfaitement.
Dans la dernière version 1.9.4, pour autant que je sache, ce problème ne se produit que lorsqu'il y a beaucoup de données avec des largeurs fluctuantes, et avec des mots très longs/imprévisibles combinés dans les mêmes colonnes que des petits. De plus, le tableau en question doit être d'une largeur raisonnable.
Tous ces facteurs sont démontrés dans ce violon : http://jsfiddle.net/pratik136/etL73/12/embedded/result/
Sortie
Chrome :
IE :
Firefox
Solutions suggérées
Ces solutions ont été suggérées auparavant mais n'ont pas eu d'effet. sur ma mise en œuvre. En raison de certaines de ces suggestions, j'ai mis en place une démo simple et propre car je voulais m'assurer qu'aucun autre code ne contribuait à cet effet.
- J'ai désactivé tous mes css, le problème disparaît.
setTimeout( function () { oTable.fnAdjustColumnSizing(); }, 10 );
- en appelant
oTable.fnFilter( "x",0 )
etoTable.fnFilter( "",0 )
dans cet ordre "sScrollXInner": "100%"
- se débarrasser de toutes les largeurs
La seule solution que j'ai trouvée pour les collecteurs mal alignés était d'enlever sScrollX
et sScrollY
mais cela ne peut pas être considéré comme une solution car vous perdez la fonctionnalité de défilement de l'en-tête fixe et du contenu interne. Malheureusement, il s'agit d'une solution temporaire et non d'une solution définitive !
Note
Pour éditer/jouer avec le dernier violon : http://jsfiddle.net/pratik136/etL73/12
J'ai essayé diverses combinaisons qui peuvent être observées dans l'historique de révision du violon en utilisant le lien http://jsfiddle.net/pratik136/etL73/#REV#
où 1 <= #REV# <=12
Histoire
StackO
Cette question a déjà été posée : jQuery Datatables Header mal aligné avec le défilement vertical
mais la différence essentielle est que l'OP de cette question a mentionné qu'ils ont été en mesure de résoudre le problème si toutes les CSS ont été supprimées, ce qui est faux dans mon cas, et j'ai essayé quelques permutations, donc j'ai pensé que la question méritait un repost.
Externe
Ce problème a également été signalé sur le forum DataTables :
- http://datatables.net/forums/discussion/7395/sscrolly-and-sscrollx-broken/p1
- http://datatables.net/forums/discussion/7778/vertical-scrolling-messes-up-column-header-alignment#Item_1
- http://datatables.net/forums/discussion/3835/width-columns-problem-in-chrome-safari/p1
- Mon rapport de bug : http://datatables.net/forums/discussion/12491/datatables-header-alignment-issue-refresh#Item_1
Ce problème m'a rendu fou ! Faites-nous part de vos réflexions !