web-dev-qa-db-fra.com

jqGrid et l'option autowidth. Comment ça marche?

J'utilise jqGrid avec l'option autowidth définie sur true.

Selon la documentation :

Lorsqu'il est défini sur true, la largeur de la grille est recalculée automatiquement en fonction de la largeur de l'élément parent. Cela se fait uniquement initialement lorsque la grille est créée. Afin de redimensionner la grille lorsque l'élément parent change de largeur, vous devez appliquer un code personnalisé et utiliser une méthode setGridWidth à cet effet

Cela fait que la grille occupe toute la largeur disponible dans l'élément parent. Un autre effet de cette propriété est que chaque colonne se rétrécit pour s'adapter à la largeur disponible.

Cela fonctionne très bien. Cependant, j'ai une page où je ne veux pas que les colonnes rétrécissent pour s'adapter à la largeur de la grille, mais elles devraient occuper l'espace que j'ai défini dans le colModel pour elles.

Comment puis-je atteindre cet objectif?

22
Lorenzo

Solution: shrinkToFit: false

25
Lorenzo

ensemble

autowidth = true, shrinkToFit = false

ce paramètre fera la largeur du cadre jqgrid égale au parent (généralement égale à la largeur du navigateur); et la largeur de colonne égale la largeur définie dans colModel; imprnatelly jqgrid 4.3 ne donne pas un moyen simple en définissant une propriété pour ajuster/redimensionner automatiquement la largeur de colonne en fonction de la largeur du contenu (texte dans la cellule);

par défaut dans jqgrid:

autowidth = false, shrinkToFit = true

veuillez voir les trois propriétés des options de jqgrid dans jqgrid option wiki ;

autowidth

shrinkToFit

largeur

et propriété de colModel dans jqgrid colModel wiki

largeur

fixé

Je pense que la priorité pour la largeur de trame jqgrid est * autowidth de trame jqgrid> largeur de trame jqgrid> somme de la largeur de colonne *

la priorité pour la largeur de colonne est colmodel fixed> jqgrid frame shrinkToFit> colmodel width

10
phil