J'essaye d'écrire une méthode plus générique qui remplira soit une liste déroulante ASP.NET OU un telerik RadComboBox avec des états. Je voudrais passer le contrôle en paramètre de la méthode. J'ai un DataTable qui contient tous les états, que je boucle (voir ci-dessous) - Je voudrais rendre cela applicable à un Telerik RadComboBox - donc j'ai besoin de changer le premier paramètre, et aussi la partie où je Insère un nouveau ListItem - pour Telerik RadComboBox c'est un nouveau RadComboBoxItem. Comment puis-je faire ceci?Retour contrôle ASP DDL ou Telerik
public void PopulateStates(DropDownList ddlStates, string country)
{
ddlStates.Items.Clear();
DataLookup dl = new DataLookup();
DataTable dt = dl.GetStatesByCountry(country);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
ddlStates.Items.Insert(0, new ListItem(""));
for (int i = 0; i < dt.Rows.Count; i++)
{
ddlStates.Items.Add(new ListItem(dt.Rows[i]["STCD_Descr"].ToString(),
dt.Rows[i]["STCD_State_CD"].ToString()));
}
}
}
}
Cela semble fonctionner, cependant, lorsque j'essaie de faire quelque chose comme ddlStates.Items.Clear(); (dans la zone "passez à votre code" - il ne reconnaît pas que "Items" est une propriété car il ne sait pas quel type de contrôle il est à ce moment-là - j'obtiens une erreur de compilation –
désolé ddl. Items.Clear(); –
Désolé, vous avez entièrement raison! Je dormais pendant que j'écris ceci, ça ne fonctionnera pas parce que la classe de base qu'ils partagent n'a pas de propriété appelée Items.La solution la plus simple que je peux voir dans le moment est de créer 2 méthodes prédéfinies, la première à accepter radCombo et l'autre dropDown. –