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?
Solution: shrinkToFit: false
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