J'essaye de lier un DataGridViewComboBoxColumn
à une instance de Foo, mais quand je place une valeur sur la grille j'ai un ArgumentException
qui me dit que je ne peux pas convertir de String en Foo.Comment lier un DataGridViewComboBoxColumn à un objet?
var data = (from item in someTable
select new { Foo = item.foo, Bar = item.Bar }).ToList();
grid.DataSource = data;
column.DataPropertyName = "Foo";
column.DataSource = (from foo in Foo select foo).ToList(); //foo is an instance of Foo
column.DisplayMember = "SomeNameField"; //Foo.SomeNameField contains a description of the instance
Ai-je raté quelque chose? est-il possible de se connecter à un objet complexe?
MISE À JOUR:
I mis en œuvre un TypeConverter et overrided CanConvertFrom, CanConvertTo, ConvertTo, ConvertFrom. Maintenant, je reçois
FormatException: La valeur DataGridViewComboBoxCell n'est pas valide
Toutes les idées?
Comment créer un TypeConverter? – albertein
Vous héritez de TypeConverter et remplacez les méthodes GetProperties/GetPropertiesSupported. Appliquez ensuite le type à TypeConverterAttribute sur le type de cible souhaité. La zone de sujet est très grande. Google pour plus de direction. – leppie
J'ai mis en œuvre un TypeConverter et substitué CanConvertTo, CanConvertFrom, ConvertTo et ConvertFrom, maintenant j'obtiens l'erreur "FormatException: La valeur de DataGridViewComboBoxCell n'est pas valide" après avoir réglé la valeur – albertein