2010-11-22 3 views
1

Je souhaite afficher un champ de base de données dans une liste déroulante au chargement du formulaire. Quelqu'un peut-il me dire comment le faire.dropdownlist in C#

s'il vous plaît aider

Répondre

4

Comme toujours commencer par la définition de votre modèle:

public class Item 
{ 
    public string Id { get; set; } 
    public string Label { get; set; } 
} 

Ensuite, votre dépôt:

public interface IRepository 
{ 
    IEnumerable<Item> GetItems(); 
} 

ensuite mettre en œuvre ce référentiel:

public class MySQLRepository: IRepository 
{ 
    public IEnumerable<Item> GetItems() 
    { 
     using (var conn = new MySqlConnection("SOME CONNECTION STRING")) 
     using (var cmd = conn.CreateCommand()) 
     { 
      conn.Open(); 
      cmd.CommandText = "SELECT id, name FROM items;"; 
      using (var reader = cmd.ExecuteReader()) 
      { 
       while (reader.Read()) 
       { 
        yield return new Item 
        { 
         Id = reader.GetString(0), 
         Label = reader.GetString(1), 
        }; 
       } 
      } 
     } 
    } 
} 

et dernière ment utiliser une instance de ce dépôt dans votre formulaire pour récupérer les données:

myDDL.DataSource = repository.GetItems(); 
myDDL.DataValueField = "Id"; 
myDDL.DataTextField = "Label"; 
myDDL.DataBind(); 
2

Pour votre question

1- Fetch les données dans une table de données.

2- définir la propriété DataSource de liste à la table de données provenant de l'étape 1

3- Set DataTextField, DataValueField