J'ai écrit un champ personnalisé qui étend SPFieldLookup. J'ai placé AllowMultipleValues = true; Voici Champ de contrôle Valeur:Sharepoint Personnalisé SPFieldLookup enregistrer une seule valeur
public override object Value
{
get
{
EnsureChildControls();
SPFieldLookupValueCollection vals = new SPFieldLookupValueCollection();
ICollection s = TinBaiLienQuanPicker.SelectedIds;
if (s != null && s.Count > 0)
{
foreach (var i in s)
{
ListItem z = availableItems.Find(x => (x.Value == i.ToString()));
if (z != null)
{
vals.Add(new SPFieldLookupValue(int.Parse(z.Value), z.Text));
}
}
}
return vals;
}
set
{
EnsureChildControls();
base.Value = value as SPFieldLookupValueCollection;
}
}
Lorsque la commande enregistrer des données sur le terrain, je le vois revenir une collection qui ont une valeur multiple. Mais lorsque je récupère à nouveau des données, je ne reçois que la première valeur. Je reçois la valeur de la propriété ListItemFieldValue du champ de contrôle.
S'il vous plaît donnez-moi un pourboire. Merci beaucoup.
Salut, EG. Merci pour votre réponse. ParentType était déjà défini sur LookupMulti. –