none
Context y actualización de todo el contenido de la SPLIST en SharePoint 2013 RRS feed

  • Pregunta

  • Hola a todos,  mi problema es el siguiente: No se actualiza todo el contenido de la lista al momento de actualizar el contexto en SharePoint 2013, después de haber enviado una consulta CamlQuery.

    Adjunto el código que estoy realizando, espero que me puedan colaborar en que estoy fallando o que me está faltando.

    Gracias

    try

                {

                       string siteUrl = "http://mysp2013/";

                        ClientContext clientContext = new ClientContext(siteUrl);

                        Web site = clientContext.Web;

                        SP.List oList = site.Lists.GetByTitle("lstNotification");

                        CamlQuery myQuery = new CamlQuery();

                        myQuery.ViewXml = @"<Where><Eq><FieldRef Name='User1'/><Value Type='Text'>Administrator</Value></Eq></Where>";

                        ListItemCollection itemsList = oList.GetItems(myQuery);

                        clientContext.Load(itemsList);

                        clientContext.ExecuteQuery();

                }

                catch (SPException ex)

                {

                    Console.WriteLine(ex);

                }


    viernes, 10 de enero de 2014 14:14

Respuestas

  • Buenas JGuerror,

    Estas utilizando el modelo de objetos de cliente y hay las CamlQuery cambian un poco, bueno más que cambiar es que tienes que poner más información. Por ejemplo para la Query que estas indicando deberías ponerla de la siguiente forma:

           myQuery.ViewXml = @"<View><Query><Where><Eq><FieldRef Name='User1'/><Value Type='Text'>Administrator</Value></Eq></Where></Query></View>";

    Una buena practica también es añadirle en esta consulta el número de elementos a traer por ejemplo 50, 100 para que de esta forma sea un poco más eficiente. Si tienes duda sobre las Query con el modelo de objetos cliente te recomiendo este post http://karinebosch.wordpress.com/2012/02/03/caml-and-the-client-object-model/

    Por otro lado si estas acostumbrado más a una sintexis LINQ hay una Proyecto en CodePlex que te da esta funcionalidad y es muy útil por si te interesa esta es la url http://camlex.codeplex.com/

    Ahora bien si lo que quieres es actualizar los elementos mira este link que te indica la forma en la se debe de hacer: http://msdn.microsoft.com/en-us/library/office/fp179912.aspx

    Cualquier duda ya nos la comentas,

    Un saludo,


    MCPD SharePoint 2010 Mi blog: http://blogs.encamina.com/desarrollandosobresharepoint Twitter: @AdrianDiaz81


    • Editado Adrian_DiazMVP sábado, 11 de enero de 2014 16:06 añadir link
    • Marcado como respuesta Uriel Almendra martes, 14 de enero de 2014 17:36
    sábado, 11 de enero de 2014 16:05

Todas las respuestas

  • Hola

    ¿a qué te refieres con que no se actualiza?

    Estás haciendo una consulta para traerte los datos de la lista.


    Alberto Diaz Martin twitter://@adiazcan | http://geeks.ms/blogs/adiazmartin | MVP SharePoint Server

    viernes, 10 de enero de 2014 16:51
  • Si, y cuando lo trato de desplegar en pantalla la lista lstNotification, me muestra todos los datos.
    viernes, 10 de enero de 2014 17:25
  • Hola,

    Entonces: ¿EL problema es que no te está haciendo bien el filtro en la consulta? Te recomiendo que te bajes CAML Builder y pruebes bien tu consulta hasta conseguir el resultado que necesitas.

    Saludos


    ------------------------------------------------------------<br/> Juan Carlos González Martín MVP de SharePoint Server<br/> Director revista CompartiMOSS: http://www.compartimoss.com <br/> Blog: http://geeks.ms/blogs/jcgonzalez<br/> Twitter: @jcgm1978<br/> ------------------------------------------------------------

    sábado, 11 de enero de 2014 15:23
  • Hola Juan Carlos, ya baje el SPCALMQUERYHELPER ya hice la prueba de mi consulta y si esta realizada de manera correcta, pero no se ve reflejado esta consulta en mi lista "lstNotification", es decir que lo que estoy buscando hacer es que me actualice la lista de SP con los parámetros de consulta enviados en un CamlQuery.

    Gracias

    sábado, 11 de enero de 2014 15:58
  • Buenas JGuerror,

    Estas utilizando el modelo de objetos de cliente y hay las CamlQuery cambian un poco, bueno más que cambiar es que tienes que poner más información. Por ejemplo para la Query que estas indicando deberías ponerla de la siguiente forma:

           myQuery.ViewXml = @"<View><Query><Where><Eq><FieldRef Name='User1'/><Value Type='Text'>Administrator</Value></Eq></Where></Query></View>";

    Una buena practica también es añadirle en esta consulta el número de elementos a traer por ejemplo 50, 100 para que de esta forma sea un poco más eficiente. Si tienes duda sobre las Query con el modelo de objetos cliente te recomiendo este post http://karinebosch.wordpress.com/2012/02/03/caml-and-the-client-object-model/

    Por otro lado si estas acostumbrado más a una sintexis LINQ hay una Proyecto en CodePlex que te da esta funcionalidad y es muy útil por si te interesa esta es la url http://camlex.codeplex.com/

    Ahora bien si lo que quieres es actualizar los elementos mira este link que te indica la forma en la se debe de hacer: http://msdn.microsoft.com/en-us/library/office/fp179912.aspx

    Cualquier duda ya nos la comentas,

    Un saludo,


    MCPD SharePoint 2010 Mi blog: http://blogs.encamina.com/desarrollandosobresharepoint Twitter: @AdrianDiaz81


    • Editado Adrian_DiazMVP sábado, 11 de enero de 2014 16:06 añadir link
    • Marcado como respuesta Uriel Almendra martes, 14 de enero de 2014 17:36
    sábado, 11 de enero de 2014 16:05
  • Hola,

    Como dice Adrián, ten cuidado en la consulta y asegúrate que la estás definiendo para el CSOM. El CAML Builder te permite también generar la consulta CAML para CSOM (bájate la última versión disponible del Builder).

    Saludos


    ------------------------------------------------------------<br/> Juan Carlos González Martín MVP de SharePoint Server<br/> Director revista CompartiMOSS: http://www.compartimoss.com <br/> Blog: http://geeks.ms/blogs/jcgonzalez<br/> Twitter: @jcgm1978<br/> ------------------------------------------------------------

    domingo, 12 de enero de 2014 9:25