Question

    public class FontType
    {
        ...
        public String Name { get { return _name; } }
        public String DisplayName { get { return _displayName; } }
        public Font UseFont { get { return _font; } }
    }


bindFontTypes.DataSource = availableFonts;
comboFontType.DataSource = bindFontTypes;
comboFontType.ValueMember = "Key";
comboFontType.DisplayMember = ...???;

Ici, bindFontTypes est BindingSource. availableFonts est une table de hachage où les clés sont des chaînes et les valeurs des objets de FontType. Pour comboFontType.DisplayMember , je souhaite utiliser la propriété .DisplayName des objets. Comment puis-je spécifier cela? Est-ce possible?

Était-ce utile?

La solution

Cela pourrait fonctionner si vous définissiez

comboFontType.DisplayMember = "Value";  // FontType

et surchargez ToString () pour FontType .

Comme alternative à ToString (), vous pouvez gérer l'événement Format de la liste déroulante.

Mais je ne suis même pas sûr que la liaison de données fonctionne de cette façon.

Autres conseils

En utilisant DisplayMember = " Value.DisplayName " , je reçois le dernier élément ajouté à la table de hachage ... Je tente de les obtenir tous ....

C’est ce que j’ai fait ... mais je ne récupère que le dernier élément de la Hashtable à lier ....

BindingSource src = new BindingSource();
            src.DataSource = new Hashtable 
            { 
            {
                "blah", 
                new FontType 
                { 
                    Name = "newFont", 
                    DisplayName = "new Font" 
                } 
                },
                { 
                    "another", 
                    new FontType 
                    {
                        Name = "anotherFont",
                        DisplayName = "another Font" 
                    } 
                    } 
            };
            comboBox1.DataSource = src;
            comboBox1.ValueMember = "Key";
            comboBox1.DisplayMember = "Value.DisplayName";
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top