2012-09-24 28 views
5

Hola Tengo dos listas en sharepoint 2007. Tengo una columna de búsqueda en la lista que muestra el otro campo. Quiero utilizar el modelo de objetos sharepoint para agregar un elemento a la segunda lista. Cómo establecer el valor del campo de búsqueda. (El valor ya está en la otra lista).¿Cómo agregar un valor a un campo de búsqueda en Sharepoint?

SPListItem Employee = web.Lists["Employee"].Items.Add(); 
Employee["Name"] = account.Name; 
Employee["Department"] = <lookup value must come here> 
Employee.Update();     
+0

Esto también útil [Obtener y establecer un campo de búsqueda de SharePoint Valores Utilizando SSOM C#] (https://social.technet.microsoft.com/wiki/contents/ articles/40271.get-and-set-a-sharepoint-lookup-field-values-using-ssom-c.aspx) –

Respuesta

3

campos de búsqueda contendrán una combinación de id de la fila y el valor de la columna para mostrar, separados por :#, en su caso, que podría ser 1:#HumanResources o 12:#Engineering.

Por lo tanto, para hacer referencia a una búsqueda, simplemente establecer la identificación no será suficiente, en su lugar, se debe configurar la cadena mencionada anteriormente. Por suerte SharePoint proporciona la clase SPFieldLookupValue que hace exactamente esto:

var department = web.Lists["Department"].GetItemById(1); 
var employee = web.Lists["Employee"].Items.Add(); 
employee["Name"] = account.Name; 
employee["Department"] = new SPFieldLookupValue(department.ID, department.Title); 
employee.Update(); 
+0

Esto no parece ser necesario. Si compruebo el valor del empleado ["Departamento"] después de configurarlo, simplemente se establece en "1". Y si solo hago empleado ["Departamento"] = "1"; employee.Update(); funciona bien. – xr280xr

+0

@ xr280xr, tenga en cuenta que estamos hablando de _SharePoint 2007_ aquí ... – Spontifixus

+0

Sí, lo mismo aquí. – xr280xr

Cuestiones relacionadas