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
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
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();
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