15/10/07

Borrado de ListItems desde InfoPath

Formularios.Lists ListsService = new Formularios.Lists();
ListsService.Url = "[Ruta Site]/_vti_bin/lists.asmx";
ListsService.Credentials = new NetworkCredential(user, pass, dominio);

// Recorremos la lista para encontrar el item a cambiar ...
Microsoft.SharePoint.SPSite sps = new Microsoft.SharePoint.SPSite("
[Ruta Site]");
Microsoft.SharePoint.SPWeb spw = sps.OpenWeb(
[Nombre Site]);
Microsoft.SharePoint.SPList spl = spw.Lists[lista];


// Borraremos el item correspondiente de la lista de Direcciones ...
// Creamos un XML con los datos que vamos a actualizar ...

XmlDocument doc = new XmlDocument();
XmlElement borrar = doc.CreateElement("Batch");
borrar.SetAttribute("OnError", "Continue");

// Creamos un metodo por cada linea que vamos a actualizar ...
XmlElement MetodoBorrar = doc.CreateElement("Method");
MetodoBorrar.SetAttribute("ID", "1");
MetodoBorrar.SetAttribute("Cmd", "Delete");
// Si queremos actualizar un item pondremos "Update". Si queremos insertar una nuevo pondremos "New"
borrar.AppendChild(MetodoBorrar);

// Actualizamos una linea basandonos en su ID interno ...
XmlElement MetodoBorrar1 = doc.CreateElement("Field");
MetodoBorrar1.SetAttribute("Name", "ID"); // que registro actualizamos
MetodoBorrar1.InnerText = id; // Valor de ese registro

MetodoBorrar.AppendChild(MetodoBorrar1);

// Llamamos al servicio Web que borrará el item
XmlNode Result = ListsService.UpdateListItems([Lista sobre la que queremos trabajar], borrar);

ListsService.Dispose();




No hay comentarios: