J'utilise le code suivant en tant que macro pour remplir un contrôle de liste déroulante. Le problème que j'ai est que l'option vide que j'ajoute dans mon code n'est pas rendue en tant qu'option dans la liste déroulante. Je ne suis pas sûr pourquoi.Liste déroulante Option vide lorsque la source de données est une macro
private object ListOfRegions(EvaluationContext context)
{
var regions = CustomTableItemProvider.GetItems(CustomTableClassNames.CountryRegionMapping).WhereNotNull("CountryCode").Column("RegionName").Distinct().OrderByAscending("RegionName");
var items = regions.ToList().Select(r => new ListItem(r.GetStringValue("RegionName", string.Empty))).ToList();
items.Insert(0, new ListItem(" ", " "));
return items;
}
MISE À JOUR
J'ai eu ce travail en retournant une chaîne délimitée au lieu
var regions = CustomTableItemProvider.GetItems(CustomTableClassNames.CountryRegionMapping).WhereNotNull("CountryCode").Column(columnName).Distinct().OrderByAscending(columnName);
var items = regions.ToList().Select(r => new ListItem(r.GetStringValue(columnName, string.Empty))).ToList();
items.Insert(0, new ListItem("Please select ...", string.Empty));
return items.Select(i => $"{i.Value};{i.Text}");
Modification de la ligne 'items.Insert (0, nouveau ListItem ("- sélectionner un -"," «));' résultats l'option RENDUES mais avec le texte de la valeur de l'option que ainsi que le texte – RadarBug
Ensuite, placez une valeur non valide là aussi. La configuration de base de la création d'une liste avec des valeurs et du texte dans la liste déroulante, la liste de cases à cocher, la liste des boutons radio, etc. dans Kentico indique que la valeur et le texte doivent être séparés par un point-virgule (;) sur une seule ligne. Sinon, la valeur unique sera utilisée à la fois pour le texte et la valeur. Entrez donc une valeur et affichez le texte. –
Je ne veux pas une valeur invalide Je veux une valeur vide. J'ai lu les documents et ai également émis une chaîne séparée par des virgules. Rien ne semble me donner une option avec une valeur vide – RadarBug