none
Acceder a datos de listas RRS feed

  • Pregunta

  • Hola a todos, estoy intentando acceder a los elementos de una lista Sharepoint por código en visual studio y meter dichos datos en un listbox o en un text box, pero no se como cargar dichos datos.

    Alguien me puede ayudar?

    Gracias por la ayuda
    jueves, 22 de octubre de 2009 11:23

Respuestas

  • Hola, para acceder a los datos de las listas de sharepoint, puedes utilizar el siguiente código:

    using (SPSite miSitio = new SPSIte("http://servidor/sitios/micolecciondesitios))
    {
        using (SPWeb miWeb = miSitio.OpenWeb())
       {
            SPList miLista = miweb.Lists["nombredelalista"];
             
            foreach(SPListItem item in miLista.Items)
            {
                mitextBox.text = item["Title"].ToString();
            }

       }
    }

    Este código puede ser sustituido por el siguiente, que utiliza el contexto y accede directamente al sitio donde esta el webpart control de usuario o pagina desde donde se ejecuta el codigo.

    SPList miLista = SPContext.Current.Web.Lists["miLista"];

    La lista tiene varias opciones para acceder a los elementos .Items te devuleve todos, getItemByID, o getItems donde puedes pasar una consulta para filtrar los datos.

    Te recomiendo que mires los siguientes enlaces, para ampliar información.

    Información objeto SPLIst - > http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.aspx

    Información objeto SPListItem -> http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.aspx



    Microsoft MCP 6608628
    • Propuesto como respuesta Fernando A. Gómez jueves, 22 de octubre de 2009 15:22
    • Marcado como respuesta Miguel 09 miércoles, 28 de octubre de 2009 12:48
    jueves, 22 de octubre de 2009 12:31
  • Hola,

    pues creo que Carlos ya te dio la respuesta, utilizando el modelo de objetos contenido en Microsoft.SharePoint.dll. Adicionalmente, te comento que ese modelo sólo lo podemos utilizar cuando el proceso que ejecuta el código se encuentra en la misma máquina donde está instalado SharePoint. Es decir, si tienes un programa que se encuentra en una PC de algún usuario, y que se quiera conectar a un servidor con WSS en otra máquina, pues entonces no te va a funcionar. 

    Para estos casos, necesitas utilizar los servicios web de WSS / MOSS. Te dejo la referencia a éstos, por si los necesitas. 

    Unos ejemplillos:

    Saludos. 


    Fernando Gómez
    www.fermasmas.com
    • Marcado como respuesta Miguel 09 miércoles, 28 de octubre de 2009 12:48
    jueves, 22 de octubre de 2009 15:45

Todas las respuestas

  • Hola, para acceder a los datos de las listas de sharepoint, puedes utilizar el siguiente código:

    using (SPSite miSitio = new SPSIte("http://servidor/sitios/micolecciondesitios))
    {
        using (SPWeb miWeb = miSitio.OpenWeb())
       {
            SPList miLista = miweb.Lists["nombredelalista"];
             
            foreach(SPListItem item in miLista.Items)
            {
                mitextBox.text = item["Title"].ToString();
            }

       }
    }

    Este código puede ser sustituido por el siguiente, que utiliza el contexto y accede directamente al sitio donde esta el webpart control de usuario o pagina desde donde se ejecuta el codigo.

    SPList miLista = SPContext.Current.Web.Lists["miLista"];

    La lista tiene varias opciones para acceder a los elementos .Items te devuleve todos, getItemByID, o getItems donde puedes pasar una consulta para filtrar los datos.

    Te recomiendo que mires los siguientes enlaces, para ampliar información.

    Información objeto SPLIst - > http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.aspx

    Información objeto SPListItem -> http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.aspx



    Microsoft MCP 6608628
    • Propuesto como respuesta Fernando A. Gómez jueves, 22 de octubre de 2009 15:22
    • Marcado como respuesta Miguel 09 miércoles, 28 de octubre de 2009 12:48
    jueves, 22 de octubre de 2009 12:31
  • Hola,

    pues creo que Carlos ya te dio la respuesta, utilizando el modelo de objetos contenido en Microsoft.SharePoint.dll. Adicionalmente, te comento que ese modelo sólo lo podemos utilizar cuando el proceso que ejecuta el código se encuentra en la misma máquina donde está instalado SharePoint. Es decir, si tienes un programa que se encuentra en una PC de algún usuario, y que se quiera conectar a un servidor con WSS en otra máquina, pues entonces no te va a funcionar. 

    Para estos casos, necesitas utilizar los servicios web de WSS / MOSS. Te dejo la referencia a éstos, por si los necesitas. 

    Unos ejemplillos:

    Saludos. 


    Fernando Gómez
    www.fermasmas.com
    • Marcado como respuesta Miguel 09 miércoles, 28 de octubre de 2009 12:48
    jueves, 22 de octubre de 2009 15:45
  • Gracias por las respuestas.

    El caso es que necesitaré acceder a los datos desde cualquier ordenador que pueda conectarse al servidor, así que le echaré un ojo a los servicios web.

    Aunque estoy tratando de cargar todas las listas que tengo, usando lo siguiente:

    private void Form1_Load(object sender, EventArgs e)
    {
       ListasRaiz.Lists Lst = new ListasRaiz.Lists();
          
       //Indicar los datos de usuario para acceder al site
       Lst.Credentials = new System.Net.NetworkCredential("administrador", "Microsoft.1");
       System.Xml.XmlNode Data = Lst.GetListCollection();
       foreach (System.Xml.XmlNode LstNode in Data.ChildNodes)
       {
           listBox1.Items.Add(LstNode.Attributes["Title"].Value);
           listBox1.SelectedItem = listBox1.Items[0];
        }     
    }

    Pero no me muestra todas las que tengo. Sabeis a que puede deberse??

    Un saludo!
    viernes, 23 de octubre de 2009 7:14