Lorsque j'utilisais auparavant le composant EXTJS gridPanel, comme les données stroboscopiques du GridPanel étaient souvent filtrées, parfois la barre de défilement du GridPanel elle-même échouait.
Prenons un exemple. La barre de défilement fournie avec EXTJS gridPanel a une largeur de colonne fixe pour placer la barre de défilement, comme indiqué dans l'image ci-dessus. Ainsi, lorsque la barre de défilement échoue, quelle que soit la façon dont vous faites glisser la barre de défilement, les données de la grille n'afficheront jamais les données dans la zone correspondante lorsque la barre de défilement se déplace (en d'autres termes, les données que vous verrez toujours sont dans la capture d'écran). enregistrements).
Quant à savoir pourquoi le panneau de grille échoue ? On ne sait pas encore quelle en est la raison. Certaines personnes ont déjà rencontré des problèmes similaires sur le forum Extjs et sur stackoverflow, mais les versions peuvent être antérieures à 4.1. L'équipe de développement d'Extjs a déclaré avoir résolu ce problème depuis la version 4.1 (pas sûr, j'espère avoir utilisé la version 4.1). argument chaussures (sous l'argument).
D'accord, parlons maintenant de la façon de résoudre le problème de l'échec de la barre de défilement.
xtype: 'gridpanel', // autoScroll:true, scroll:false, viewConfig: { style: { overflow: 'auto', overflowX: 'hidden' } }
Comme vous pouvez le voir, l'attribut autoScroll est désactivé, scroll est défini sur false, puis viewConfig est défini ici, la barre de défilement horizontale est désactivée et seule la barre de défilement verticale est conservée. OK problème résolu, voir l'effet :
À ce stade, vous constaterez que la barre de défilement n'a plus sa propre colonne, mais est fusionnée avec la dernière colonne de la grille. La barre de défilement fournie avec le gridPanel est ainsi désactivée.
Ce bug potentiel est également résolu.
Mais pour cet usage, il est préférable de définir une largeur fixe pour toutes les colonnes de la grille et de définir les attributs :
resizable:false
Cela peut éviter certains problèmes inutiles causés par la désactivation de la barre de défilement horizontale.