Assegnazione del valore del campo di scelta semplice
-
09-12-2019 - |
Domanda
Le mie scuse per chiedere, cosa sembra, una domanda davvero base - ma non riesco a sembrare di assegnare un valore a un campo "scelta" a livello di programmazione e non riesce a trovare nulla di documentato da nessuna parte.
Definito nel mio XML come:
<Field Type="Choice" DisplayName="MyChoiceField" StaticName="MyChoiceField" Name="MyChoiceField"
ID="[GUID]" Format="Dropdown" FillInChoice="FALSE" Required="FALSE" EnforceUniqueValues="FALSE" Indexed="FALSE" >
<Default></Default>
<CHOICES>
<CHOICE>Choice1</CHOICE>
<CHOICE>Choice2</CHOICE>
</CHOICES>
</Field>
.
e il mio tentativo di assegnazione come:
item["MyChoiceField"] = "Choice1";
.
Ma ricevo l'eccezione che questo è un valore non valido per un campo di scelta.
Soluzione
È possibile utilizzare il getfieldValue metododella classe di campo se non si è sicuri del tipo effettivo del valore inferiore.
Ad esempio:
item["MyChoiceField"] = listIstance.Fields["MyChoiceField"].GetFieldValue("Choice1");
. Altri suggerimenti
Forse qualcosa come questo?
// Get a reference to the field.
SPFieldMultiChoice choiceField = (SPFieldMultiChoice)list.Fields.GetField(fieldInternalName);
// Create a field value with all choices selected.
// (A CheckBoxChoiceField control would have all boxes checked.)
SPFieldMultiChoiceValue values = new SPFieldMultiChoiceValue();
foreach (string choice in choices)
{
values.Add(choice);
}
// Add an item to the list.
SPListItem item = list.Items.Add();
item[SPBuiltInFieldId.Title] = "Test item";
item[choiceField.Id] = values;
item.Update();
.
http://msdn.microsoft.com/en-US / Biblioteca / Microsoft.SharePoint.spfieldmultichoicaValue.aspx
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange