9
votes

DataGridView's Row Rowsize

J'essaie d'ajuster automatiquement la hauteur d'une ligne et je l'ai trouvé très difficile.

J'ai déjà défini cette propriété: xxx

i ' VE l'a également fait utiliser cette autre méthode: xxx

ainsi que la rangée par ligne, en utilisant ce suivant: xxx

et Également, même la hauteur de la rangée de la ligne à une grande valeur, et cela n'a pas fonctionné non plus !! Toutes les lignes sont affichées avec leurs hauteurs par défaut.

Aucune de ces personnes n'a travaillé. Je suis à court d'options.

La plupart des lignes de la DataGridView n'ont pas besoin d'être redimensionnées. Mais l'un d'entre eux est rempli de valeurs telles que celles-ci:

"A" + "\ n" + b + "\ n" + "c" + "\ n" + "D" + "\ n" "+" E "

Je veux dire, des valeurs courtes mais dans différentes lignes. Je dois leur montrer différentes lignes, je ne peux pas les montrer tous ensemble. Mais le DataGridView ne montre que le premier et tous les autres sont cachés, car la ligne n'atténue pas.

Une idée de tout autre moyen de le faire.


0 commentaires

3 Réponses :


5
votes

4 commentaires

La raison pour laquelle vous avez une approche actuelle ne fonctionne pas est probable que vous ayez votre code dans le constructeur de formulaires ou dans l'événement surcharge.


Non, je le fais en fait après que la gridsource ait été définie sur DataGridView. C'est déjà peuplé. C'est la dernière chose que je fais.


@ user1062568 Quand le faites-vous? Dans quel gestionnaire d'événement? Même si vous le faites après que la source soit définie, cela ne suffit pas, vous devez le faire après la fin de la base de données. Si vous définissez la source, appelez ensuite tout dans le constructeur de formulaire, par exemple, cela ne changera pas la hauteur.


Je le faisais après que la grille était prête. J'ajoutais en fait une ligne à la ligne, en utilisant des lignes.add (). Donc, aucune liaison n'était nécessaire. Quoi qu'il en soit, j'ai trouvé la solution en utilisant une autre propriété. Merci quand même pour votre aide!



4
votes

J'ai trouvé la solution à ce problème. Au lieu de travailler avec les propriétés autossize de la grille ou des lignes, j'aurais dû utiliser l'enveloppe à appliquer à toutes les cellules de la grille.

datagridview.defaultCellstyle.wrapmode = DataGridViewRistate. Vrai

Ceci est appliqué à toutes les cellules et fonctionne.


2 commentaires

Heureux que vous ayez trouvé la solution (je présumé que vous aviez déjà défini SALLMODE et voyiez les multiples lignes débordant de la zone de cellule de la grille). Je vais laisser ma réponse car il est correct pour un problème différent (si vous mettez à jour l'une de vos cellules augmentant la longueur des données, le redimensionnement ne se déclenchera pas automatiquement).


OH - et marquez ceci comme réponse afin que la question chute de la liste sans réponse.



0
votes

Qu'est-ce que vous essayez de travailler. Vous devez définir Autosizemode sur 'Aucun' puis modifier la largeur de la colonne. Cela fonctionne encore mieux si vous définissez les colonnes manuelles, car je suppose que vous savez déjà quelles colonnes vous avez.


0 commentaires