pb avec DataGridViewComboboxColumn
Bonjour,
J'essaie d'utiliser les DataGridViewComboboxColumn avec un objet (sruct) en item.
Il n'y a pas de problème au remplissage, mais une erreur est généré lorsque j'y accède.
Ca fonctionne évidemment très bien avec un Combobox classique.
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
// La Structure ListItem
public struct ListItem
{
public string LabelString;
public string Constant;
public ListItem(string labelString, string constant)
{
this.LabelString = labelString;
this.Constant = constant;
}
public override string ToString()
{
return LabelString;
}
}
private void Form1_Load(object sender, EventArgs e)
{
DataGridViewComboBoxColumn cbc0 = new DataGridViewComboBoxColumn();
cbc0.Name = "cboVar";
cbc0.HeaderText = "Variable";
cbc0.Width = 120;
cbc0.Items.Add(new ListItem("Un", "1"));
cbc0.Items.Add(new ListItem("Deux", "2"));
cbc0.Items.Add(new ListItem("Trois", "3"));
dataGridView1.Columns.Insert(0, cbc0);
cbc0.Dispose();
DataGridViewComboBoxColumn cbc1 = new DataGridViewComboBoxColumn();
cbc1.Name = "cboOpe";
cbc1.HeaderText = "Opérateur";
cbc1.Width = 80;
cbc1.Items.Add(new ListItem("égal", "="));
cbc1.Items.Add(new ListItem("supérieur", ">"));
cbc1.Items.Add(new ListItem("inférieur", "<"));
dataGridView1.Columns.Insert(1, cbc1);
cbc1.Dispose();
} |
Rien de bien compliqué...
Et le message d'erreur quand on essaie de sélectionner une des lignes du 2ème combo alors que le choix du 1er a été fait :
"L'exception suivante s'est produite dans le DataGridView :
System.ArgumentException: La valeur DataGridViewComboBoxCell n'est pas valide.
Pour remplacer cette boite de dialogue par défaut, traitez l'évènement DataError."
Je ne comprends pas tout... :?
Merci pour l'aide. :D
RV