2010-09-04 13 views
6

J'utilise jqGrid dans mes pages, je modifie le fichier ui.jqgrid.css pour envelopper les en-têtes de colonne comme ceci:avec emballage têtes de colonne jqGrid sur IE

.ui-jqgrid tr.jqgrow td { 
    white-space: normal !important; 
} 

.ui-th-column,.ui-jqgrid .ui-jqgrid-htable th.ui-th-column{ 
    white-space:normal; 
} 

fonctionne bien dans toutes les navigateurs mais IE! J'ai essayé IE7 et IE8 et le problème est toujours là.

Répondre

22

Essayez d'utiliser en plus

.ui-th-div-ie { 
    white-space:normal !important; 
    height:auto !important; 
} 

MISE À JOUR: Il me semble qu'au lieu de tous ces styles, il serait préférable d'utiliser un suivant:

th.ui-th-column div{ 
    white-space:normal !important; 
    height:auto !important; 
    padding:2px; 
} 

Il semble fonctionner très bon dans tous les navigateurs. Voir un exemple here.

MISE À JOUR 2: Plus d'informations et plus de démos sur le problème que vous pouvez trouver dans the answer.

+0

Merci beaucoup, fonctionne comme un charme! –

+0

+1. C'est la solution la plus élégante et la plus concise. – ukhardy

+0

@ukhardy: Merci! – Oleg

1

Cela devrait fonctionner:

th.ui-th-column div{ 
    height:auto!important; 
} 

.ui-jqgrid .ui-jqgrid-htable th div { 
    white-space:normal !important; 
    height:auto!important; 
    padding:2px; 
} 

J'ai essayé la réponse Oleg. Mais, bien qu'il y ait eu un emballage, la hauteur n'a pas augmenté pour s'adapter au contenu. J'ai donc modifié le CSS comme ci-dessus et j'ai travaillé. Je pensais que ça allait aider quelqu'un comme moi. :)

+1

Pouvez-vous expliquer s'il vous plaît pourquoi cela devrait fonctionner? – eliasah

+0

J'ai modifié ma réponse. –