Pregunta

he buscado las href="http://spservices.codeplex.com" rel="nofollow"> jQuery SPServices ejemplos de código referencias MSDN para un ejemplo sencillo de cómo actualizar varios ListItems utilizando una cláusula WHERE.

Código para la actualización de un solo ListItem con ID = 500, se ve así:

$(divId).html(waitMessage).SPServices({
    operation: "UpdateListItems",
    listName: "MyList",
    ID: 500,
    valuepairs: [["MyField", 1]],
    completefunc: function (xData, Status) {
    	$(divId).html("");
    }
});

Sin embargo, es también posible añadir un caso como:

<Where><Eq><FieldRef Name="Status"/><Value Type="Text">Ready</Value></Eq></Where>

O debería hacerlo como este post ? (Primera recuperar la lista y luego hacer un bucle para cada artículo?)

¿Fue útil?

Solución

allí. Si está utilizando jQuery y los Servicios Web (esperemos que con mi SPServices biblioteca!), Que tiene que hacer los dos proceso de paso. GetListItems llamada con su CAMLQuery primero en obtener los elementos que necesita para trabajar con y luego llaman UpdateListItems para hacer los cambios.

Esto no es mi diseño, por cierto, es sólo la forma en que funciona el servicio Web de listas de SharePoint. En caso de duda, siempre van a la fuente de documentación en MSDN para ver lo que cada operación requiere de parámetros. Tengo enlaces en todas las operaciones en SPServices que le llevarán directamente a la página correspondiente en MSDN.

Por último, la idea de lotes en UpdateListItems es un poco engañosa en su terminología. Puede, de hecho, las solicitudes "por lotes" en uno UpdateListItems llamar, pero puede o no puede querer hacer que la base de lo requisitos de manejo de su error son. Una vez más, la mejor manera de comprobar el SDK en MSDN.

EDIT: He añadido una nueva función a SPServices en v0.5.8 llamada SPUpdateMultipleListItems para hacer esto: http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPUpdateMultipleListItems

Otros consejos

que no he intentado hacer esto específicamente en jQuery, pero se puede actualizar para varios elementos de lista mediante una actualización por lotes.

Se utiliza CAML para crear comandos por lotes y ejecutar el comando utilizando el método ProcessBatchData en el objeto SPWeb.

Hay un buen ejemplo de código en hacer esto en MSDN http://msdn.microsoft.com/en-us/library/cc404818.aspx

Su biblioteca es compatible con una actualización por lotes, pero todavía no estoy seguro de si la actualización por lotes es compatible con una consulta CAML. Si va a actualizar varios elementos, se puede utilizar el servicio GetItems con una consulta CAML para recuperar los artículos que desea actualizar. A continuación, puede utilizar el jQuery cada uno en la vuelta a continuación, crear un updateItems función de cada artículo que desea actualizar. Una vez más, esto sólo es factible si no se puede utilizar una consulta CAML en una actualización por lotes.

No creo que esté disponible sin una actualización por lotes.

Creo que tendría que consultar la lista con su consulta CAML, a continuación, iterar a través de los resultados con sus actualizaciones. Dicho esto, yo no participó Marc para ver si se puede obtener una respuesta formal sobre esto.

SharePoint no aparece a los elementos soporte de actualizaciones de forma nativa en base a una consulta en absoluto, incluso utilizando SPWeb.ProcessBatchData (). Toda una limitación, dado el desempeño de intentar actualizar cada elemento de identificación (aunque sea con una sola declaración lote grande).

Licenciado bajo: CC-BY-SA con atribución
scroll top