Impossible de cocher la case dans DataGridViewCheckBoxColumn?
Je suis la création d'une simple DataGridView
avec une case à cocher de la colonne et une colonne de texte (plus de colonnes qui va suivre, mais c'est le minimum de travail exemple que je suis en train de travailler). Lorsque j'exécute ce code, la case à cocher les colonnes s'affiche, mais je ne peux pas cocher les cases.
DataGridViewCheckBoxColumn checkColumn = new DataGridViewCheckBoxColumn();
checkColumn.ThreeState = false;
checkColumn.Width = 20;
MyDataGridView.Columns.Add(checkColumn);
MyDataGridView.Columns.Add(new DataGridViewTextBoxColumn());
Depuis rien ne s'affiche dans ce cas, j'ai pensé à ajouter quelques données factices.
for (int i = 0; i < 10; i++)
{
MyDataGridView.Rows.Add(new Object[] { true, "test"});
}
Normalement, le DataGridView
est rempli avec des données lié à partir d'une liste d'objets personnalisés, comme dans cette question de la miennemais j'ai pensé qu'il serait mieux de le faire fonctionner dans un moyen de base avant de passer.
Je n'essaie pas de définir l'état activé de la programmation, mais plutôt de permettre à l'utilisateur de sélectionner et d'utiliser ensuite cette sélection dans divers autres gestionnaires d'événements.
source d'informationauteur Ricardo Altamirano
Vous devez vous connecter pour publier un commentaire.
Le code semble être bien, et alors je peux juste vous dire de vérifier et de s'assurer que les
DataGridView
propriétés sont correctement définies:ReadOnly
ensemble deFalse
etEnabled
ensemble deTrue
.J'ai eu le même problème, la solution pour moi a été de changer le
cela a résolu mon problème.
Toutes les suggestions ci-dessus ont déjà été mises en œuvre.
Cordialement
Heider
Il suffit de changer la propriété readonly de DataGridView
Cela peut se produire lorsque vous remplissez la
DataGridView
avec un objet, qui apublic Boolean property
(leCheckBox
dans le DataGridView) qui a unprivate set
ter. Une colonne dans leDataGridView
qui la représente (en lecture seule) de la propriété est automatiquement en lecture seule car il n'est pas permis de définir la propriété de l'extérieur (=côté le code de l'objet).J'ai eu également le même problème avec les différentes situations
Mon DataGridView était lié à un DataTable qui a été rempli par un SqlDataReader (qui est en lecture seule). J'ai remplacé SqlDataReader avec SqlDataAdapter fonctionne très bien.
La table elle-même peut être en Lecture Seule même si la case à cocher de la colonne n'est pas la table de paramètre remplace la colonne paramètre.