When you take an item in a list, the Lookup fields store its value in the following format
id;#string
when programmatically adding meta data to a list's column the lookup value has to be built before assigning to the item field.
In the below example I refer one lookup, get its value/string. Using the string, do a search for the lookup list item id in the lookup list. Then create the new lookup field. Finally update item
$myLookupItem = [Microsoft.SharePoint.SPFieldLookupValue]($_["FieldOne_InternalName"])
$newLookupId = GetLookupId $myLookupItem.LookupValue
$newLookupItem = New-Object Microsoft.SharePoint.SPFieldLookupValue($newLookupId ,$myLookupItem.LookupValue)
$_["FieldTwo_InternalName"] = $newLookupItem
$_.Update()
$_.File.CheckIn(" FieldTwo value updated", 1)
$_ is explained in an earlier post
id;#string
when programmatically adding meta data to a list's column the lookup value has to be built before assigning to the item field.
In the below example I refer one lookup, get its value/string. Using the string, do a search for the lookup list item id in the lookup list. Then create the new lookup field. Finally update item
$myLookupItem = [Microsoft.SharePoint.SPFieldLookupValue]($_["FieldOne_InternalName"])
$newLookupId = GetLookupId $myLookupItem.LookupValue
$newLookupItem = New-Object Microsoft.SharePoint.SPFieldLookupValue($newLookupId ,$myLookupItem.LookupValue)
$_["FieldTwo_InternalName"] = $newLookupItem
$_.Update()
$_.File.CheckIn(" FieldTwo value updated", 1)
$_ is explained in an earlier post
No comments:
Post a Comment