web-dev-qa-db-fra.com

DataGridView définissant la hauteur de ligne dans le code et désactive le redimensionnement manuel

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

  1. Taille des lignes dans le code

et

  1. Empêcher l'utilisateur de dimensionner les lignes lui-même

Des pointeurs?

17
katit

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.

31
Xint0

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.

3
Col Tomb

Dans l'ensemble de fenêtres de propriétés:

AllowUserToResizeRows = False

0
Weapon X

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.

0
VinhNg