Dans ma grille, j'avais la ligne de code suivante qui désactivait le redimensionnement du manuel de l'utilisateur:
dgvTruckAvail.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
Maintenant, je devais définir la hauteur de la colonne dans le code et cela n'a pas fonctionné (voir la hauteur de ligne du paramètre DataGridView ne fonctionne pas )
J'ai pensé que c'était cette ligne de code qui avait causé un problème de non dimensionnement. Cependant, maintenant je dois comprendre comment
et
Des pointeurs?
Ensemble:
dgvTruckAvail.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
dgvTruckAvail.AllowUserToResizeRows = false;
Cela désactivera le redimensionnement automatique des lignes et le redimensionnement manuel des lignes. Pour définir la hauteur de ligne, vous pouvez utiliser les propriétés Height
et MinimumHeight
des RowTemplate
.
La définition de la taille des lignes est un véritable défi. Vérifiez le nombre de reproches et de réponses sur le Web. J'ai constaté que parfois une façon fonctionne et d'autres fois cela ne fonctionne plus.
Procédez comme suit: placez un DataGridView sur votre formulaire. Modifiez et ajoutez plusieurs colonnes. Peu importe ce qu'ils sont, car vous allez jeter ce DGV dans un instant. Allez dans les propriétés de ce DataGridView et éditez RowTemplate/Height sur quelque chose de petit ou de grand (uniquement pour que vous puissiez le voir fonctionner). Ajoutez une ligne de code dans votre méthode pour définir XXX.RowCount à quelque chose comme 12 juste pour remplir ce test DataGridView. Exécutez votre code pour vérifier que la hauteur de ligne a changé.
Ouvrez le code XXX.Designer.cs. Développez le "code généré par Windows Form Designer" et recherchez le code qui s'applique à ce que vous venez de faire avec DataGridView. Copiez le tout dans la méthode où vous essayez d'ajuster/définir la hauteur de ligne. Mettez en commentaire tout votre code. Ligne par ligne, modifiez le code auto-généré pour utiliser le nom de votre objet. Testez à plusieurs reprises pour toute défaillance et isolez-le à ce moment.
Maintenant, revenez en arrière et supprimez cet objet DataGridView de test.
Dans l'ensemble de fenêtres de propriétés:
AllowUserToResizeRows = False
Cela fonctionne pour moi: 1. Ouvrez .Designer.cs (du formulaire contenant le gridview) 2. Retournez à la conception de gridview et éditez n'importe quelle propriété que vous voulez 3. Les deux onglets afficheront * dès leur modification 4. Terminé
J'invite le statut modifié ne touche pas le fichier .Designer.cs, donc notre modification dans le concepteur ne s'applique pas.