J'ai une Winforms DataGridView qui semble toujours avoir au moins une ligne sélectionnée tout le temps. Je ne suis pas intéressé à pouvoir sélectionner les lignes du tout vraiment, j'ai juste besoin de l'utilisateur pour pouvoir sélectionner la case à cocher dans la colonne 1. Des idées pourquoi il y a toujours au moins 1 rangée sélectionnée? Comment puis-je éviter cela? Cela affectera-t-il la possibilité de sélectionner la case à cocher dans la colonne1?
ci-dessous sont mes paramètres de DataGridView: P>
this.dataGridView1.AllowUserToAddRows = false; this.dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True; this.dataGridView1.DefaultCellStyle.ForeColor = Color.Black; this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; this.dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; this.dataGridView1.MultiSelect = false; this.dataGridView1.RowHeadersVisible = false; this.dataGridView1.RowsDefaultCellStyle.BackColor = Color.WhiteSmoke; this.dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray; this.dataGridView1.ColumnCount = 0; colSelect = new DataGridViewCheckBoxColumn(); colSelect.HeaderText = "Select Message"; colSelect.Width = 90; this.dataGridView1.Columns.Insert(0, colSelect); this.dataGridView1.Columns[0].DataPropertyName = "msgSelect";
4 Réponses :
Sélectionnez le DataGridView. Ensuite, dans la fenêtre Propriétés faites défiler jusqu'à ce que vous trouviez la sélection de la propriété et changez-la en FullColumnSelect. P>
Alternativement si vous voulez simplement sélectionner une case à cocher à la fois, changez-le sur Cellselect P>
Ah bon? La raison pour laquelle il y a une ligne sélectionnée est parce que c'est ce que votre mode de sélection est défini sur! Par conséquent, arrêtez de choisir "une ligne", vous devez le changer ...
Je ne pense pas que vous avez compris la question Calanus. Il veut savoir comment il peut arrêter la DataGridView de sélectionner la première ligne de la liste par défaut.
Vous devez utiliser DataGridView.ClearSelection ( ) pour supprimer toute sélection (s) après avoir peuplé votre DataGridView. P>
Aussi, vous pouvez également lire des colonnes spécifiques permettant uniquement de permettre de restreindre l'édition à votre colonne Cochez la case. Voir DataGridViewColumn.Readonly Property < / p>
Goober, j'ai rencontré un problème similaire, où j'avais besoin d'un utilisateur pour sélectionner des lignes à l'aide des cases à cocher. La première ligne est toujours sélectionnée par défaut une fois que la grille devrait être remplie, quels que soient les paramètres GridView. Pour vous assurer que la première ligne n'est pas sélectionnée, chaque fois que la grille est peuplée, faites une excellence (): ClearSelection () efface toutes les lignes sélectionnées. P> P>
Assurez-vous que vos sont Aussi après que la DataGridView est chargée, faites ceci P>
datagridview.rows [0] .selected = false; p>