J'ai une liste générique, c'est-à-dire List<myclass>
. Ici myclass
contient deux propriétés de chaîne. Comment puis-je attribuer une source de données à la collection de listes?Comment affecter une source de données à une collection de listes générique?
Répondre
Vous l'avez compris dans l'autre sens. Les objets de databound comme les grilles et similaires peuvent définir des listes génériques comme source de données.
Vous devez soit remplir manuellement votre liste ou utiliser une technologie qui pour vous remplit (par exemple, LINQ to SQL, NHibernate)
Vous ne pouvez pas. C'est parce qu'une liste n'est pas IBindableComponent. Un Windows Forms est: Voir MSDN Control Class.
Mirmal, je suppose que l'anglais n'est pas votre langue maternelle, cette question n'est pas très claire. Je pense que ce que vous demandez est donné une liste de votre classe comment voulez-vous lier ensuite cette liste à quelque chose (une zone de liste ou combobox etc)
est ici d'un simple extrait de code de la façon de le faire ...
private void button2_Click(object sender, EventArgs e)
{
List<MyClass> list = new List<MyClass>();
list.Add(new MyClass() { FirstName = "Tim", Lastname = "Jarvis"});
list.Add(new MyClass() { FirstName = "John", Lastname = "Doe" });
listBox1.DataSource = list;
listBox1.DisplayMember = "FirstName"; // or override MyClass's ToString() method.
}
J'espère que cela a répondu à votre question.
Vous n'attribuez pas de source de données à un objet List<>
. Vous pouvez cependant utiliser un List<>
comme source de données pour un contrôle d'interface utilisateur.
Si vous voulez vous faire dériver de List<>
et mettre en œuvre IBindableComponent
qui vous permettrait de fournir des mécanismes pour la liaison de données à une liste. C'est presque certainement pas le meilleur moyen d'atteindre ce que vous voulez faire.
Edit: Si vous avez un contrôle et que vous voulez récupérer la source de données et vous le savez est un objet List<>
vous pouvez simplement faire:
List<MyClass> lst = listBox1.DataSource as List<MyClass>;
Commencez avec une classe simple:
// create a dummy class
public class MyClass
{
private string name;
public MyClass(string name)
{
ItemName = name;
}
public string ItemName
{
get { return name; }
set { name = value; }
}
}
Créer une liste de liaison et ajouter des classes à la liste:
// create a binding list
BindingList<MyClass> my_list = new BindingList<MyClass>();
// add some clssses to the list
my_list.Add(new MyClass("Item #1"));
my_list.Add(new MyClass("Item #2"));
Bind la liste à la source de données listbox indiquant que la propriété de classe doit être utilisé dans l'affichage listbox:
// make the list the datasource for a listbox
listBox1.DataSource = my_list;
// this is the property of the class displayed in the listbox
listBox1.DisplayMember = "ItemName";
Vous pouvez envelopper votre liste dans une liste de liaison:
System.ComponentModel.BindingList<myClass> bindingList = new System.ComponentModel.BindingList<myClass>(originalList);
Goran
- 1. Utilisation de Except() sur une collection générique
- 2. Fonder une collection d'articles d'une liste à une liste générique
- 3. Comment savoir si une propriété est une collection générique
- 4. Comment lier une base de données à une propriété d'une collection derrière une collectionviewsource?
- 5. Quelle collection générique utiliser?
- 6. affecter un type à une variable, utiliser une variable avec une classe statique générique
- 7. Unsafe cast générique quand désérialisation une collection
- 8. Comment affecter une valeur à un identifiant?
- 9. Lance une collection générique vers le type de base
- 10. Suppression des doublons d'une collection de listes
- 11. Comment afficher une table avec une source de données XML?
- 12. Comment affecter chdir à une variable dans .bat?
- 13. Comment affecter une icône personnalisée à une punaise dans Mappoint?
- 14. comment affecter une variable javascript à une variable smarty
- 15. Affecter une clé équivalente à NSToolbarItem?
- 16. Scala: comment fusionner une collection de cartes
- 17. créer une source de données à partir d'une liste
- 18. en utilisant d'abord() avec une collection générique par la réflexion
- 19. Affecter une méthode à l'événement didEndOnExit de UITextField
- 20. C# Affecter une variable à un appel de classe
- 21. Comment accéder Collection Type générique Classe
- 22. Comment traiter l'objet d'une collection appartenant à une autre collection?
- 23. Comment configurer une source de données ColdFusion MySQL via SSL?
- 24. Chargement générique de la collection du type générique
- 25. Comment créer une collection profonde non modifiable?
- 26. Comment connecter une vue table à une source de données triable
- 27. convertir une matrice de listes à une matrice
- 28. Ajout d'éléments à une collection
- 29. Comment utiliser/mapper une vue de base de données pour remplir une collection contenue?
- 30. C# - comment créer une collection générique héritée à partir d'une méthode d'usine