miércoles, 27 de mayo de 2009

Tip del día: Evaluando el valor nulo de un campo “Lookup” en SharePoint 2007

Algo que puede acarrearnos diferentes resultados es cuando evaluamos la nulidad de un campo “Lookup” o “Búsqueda” (para los que gustan de la versión en español de SharePoint).

Una practica común para las listas de SharePoint cuando deseamos crear una jerarquía de valores es utilizar un campo circular que haga referencia a la misma tabla. Bueno siempre el primer nivel será el elemento raíz y el valor será nulo o eso por lo menos esperamos.

Ahora bien, veamos como se comporta SharePoint. Cuando se crea un elemento de la lista el valor efectivamente es nulo. Pero cuando se modifica el elemento de la lista,cualquier campo distinto al que nos interesa que se mantenga nulo, como es normal en el comportamiento de los sistemas, todos los campos aunque no se modifiquen se actualizan…el problema es que el campo que dejamos nulo ahora SharePoint le agrego el formato de los campos Lookup “;#”, y por si fuera poco un cero “0;#” (las comías son solo para enmarcar el valor).

Por lo que la próxima vez que necesite evaluar el valor de un campo “Lookup” recuerde agregar esta condición y se vea algo así:

   1:  if (string.IsNullOrEmpty(Padre)  Padre == "0;#")


   2:  {  


   3:   ...


   4:  }






Padre es un campo “Lookup” de la misma tabla al que pertenece el campo.



Code4Fun!,



Manolo Herrera

No hay comentarios.: