Mostrar bibliotecas relacionadas con un área

27/04/2005 - 10:42 por Jesus | Informe spam
Hola, buenas.
Tengo otra pregunta relacionada con mi anterior duda de como crear un
treeview. Eso gracias a Gustavo ya lo he conseguido.
Ahora mi problema es que una vez que selecciono un área determinada en el
control treeview que me he creado quisiera poder acceder a las bibliotecas de
dependen de ese área para poder rellenar un combobox.
Con este código, consigo recorrer todas las librerias del portal, pero yo
quisiera saber si se pueden seleccionar para sólo mostrar las librerias que
correspondan al área seleccionada.

foreach(SPList doclib in portal.Lists)
{
if (doclib.BaseType == SPBaseType.DocumentLibrary)
.
}

Muchas gracias por vuestra ayuda

Preguntas similare

Leer las respuestas

#1 Gustavo
27/04/2005 - 11:10 | Informe spam
Hola de nuevo,
Buenas nuevas que tu arbol este funcionando. Para encontrar las bibliotecas
de un sitio necesitas usar la propiedad "Lists" de la clase "SPWeb", que te
devuelve una coleccion del tipo "SPListCollection", que a su vez contiene
todas las listas (y librerias) del sitio. El "SPWeb" lo conoces pues lo has
encontrado construyendo el arbol.
Suerte,
Gustavo
http://www.gavd.net/servers/


http://www.gavd.net/servers/default.aspx


"Jesus" wrote:

Hola, buenas.
Tengo otra pregunta relacionada con mi anterior duda de como crear un
treeview. Eso gracias a Gustavo ya lo he conseguido.
Ahora mi problema es que una vez que selecciono un área determinada en el
control treeview que me he creado quisiera poder acceder a las bibliotecas de
dependen de ese área para poder rellenar un combobox.
Con este código, consigo recorrer todas las librerias del portal, pero yo
quisiera saber si se pueden seleccionar para sólo mostrar las librerias que
correspondan al área seleccionada.

foreach(SPList doclib in portal.Lists)
{
if (doclib.BaseType == SPBaseType.DocumentLibrary)
.
}

Muchas gracias por vuestra ayuda
Respuesta Responder a este mensaje
#2 Jesus
27/04/2005 - 12:28 | Informe spam
Hola Gustavo,
Lo de la propiedad "Lists" de la clase SPWeb es la que estoy utilizando, lo
que pasa es que me saca todas las librerias del sitio y yo lo que quería era
poder discriminar y solamente sacar las librerias de un área determinada.
A lo mejor no se puede hacer lo que yo quiero, es que estoy mirando y no
encuentro ninguna propiedad para poder diferenciar de todas las áreas que me
devuelve la colección "SPListCollection" las que pertenecen a cada área.

"Gustavo" wrote:

Hola de nuevo,
Buenas nuevas que tu arbol este funcionando. Para encontrar las bibliotecas
de un sitio necesitas usar la propiedad "Lists" de la clase "SPWeb", que te
devuelve una coleccion del tipo "SPListCollection", que a su vez contiene
todas las listas (y librerias) del sitio. El "SPWeb" lo conoces pues lo has
encontrado construyendo el arbol.
Suerte,
Gustavo
http://www.gavd.net/servers/


http://www.gavd.net/servers/default.aspx


"Jesus" wrote:

> Hola, buenas.
> Tengo otra pregunta relacionada con mi anterior duda de como crear un
> treeview. Eso gracias a Gustavo ya lo he conseguido.
> Ahora mi problema es que una vez que selecciono un área determinada en el
> control treeview que me he creado quisiera poder acceder a las bibliotecas de
> dependen de ese área para poder rellenar un combobox.
> Con este código, consigo recorrer todas las librerias del portal, pero yo
> quisiera saber si se pueden seleccionar para sólo mostrar las librerias que
> correspondan al área seleccionada.
>
> foreach(SPList doclib in portal.Lists)
> {
> if (doclib.BaseType == SPBaseType.DocumentLibrary)
> .
> }
>
> Muchas gracias por vuestra ayuda
Respuesta Responder a este mensaje
#3 Gustavo
27/04/2005 - 14:50 | Informe spam
Hola Jesus,
Me parece que estas mirando en la coleccion de bibliotecas del portal, no
del area respectiva. Con algo asi como:

string myArea = "http://[servidor]/[area]";
SPSite mySite = new SPSite(myArea);
SPWeb myWeb = mySite.OpenWeb();
SPListCollection myListCollection = myWeb.Lists;
foreach(SPList myList in myListCollection)
{
//Hacer algo con myList
}

deberia funcionar.
Suerte,
Gustavo
http://www.gavd.net/servers/


http://www.gavd.net/servers/default.aspx


"Jesus" wrote:

Hola Gustavo,
Lo de la propiedad "Lists" de la clase SPWeb es la que estoy utilizando, lo
que pasa es que me saca todas las librerias del sitio y yo lo que quería era
poder discriminar y solamente sacar las librerias de un área determinada.
A lo mejor no se puede hacer lo que yo quiero, es que estoy mirando y no
encuentro ninguna propiedad para poder diferenciar de todas las áreas que me
devuelve la colección "SPListCollection" las que pertenecen a cada área.

"Gustavo" wrote:

> Hola de nuevo,
> Buenas nuevas que tu arbol este funcionando. Para encontrar las bibliotecas
> de un sitio necesitas usar la propiedad "Lists" de la clase "SPWeb", que te
> devuelve una coleccion del tipo "SPListCollection", que a su vez contiene
> todas las listas (y librerias) del sitio. El "SPWeb" lo conoces pues lo has
> encontrado construyendo el arbol.
> Suerte,
> Gustavo
> http://www.gavd.net/servers/
>
>
> http://www.gavd.net/servers/default.aspx
>
>
> "Jesus" wrote:
>
> > Hola, buenas.
> > Tengo otra pregunta relacionada con mi anterior duda de como crear un
> > treeview. Eso gracias a Gustavo ya lo he conseguido.
> > Ahora mi problema es que una vez que selecciono un área determinada en el
> > control treeview que me he creado quisiera poder acceder a las bibliotecas de
> > dependen de ese área para poder rellenar un combobox.
> > Con este código, consigo recorrer todas las librerias del portal, pero yo
> > quisiera saber si se pueden seleccionar para sólo mostrar las librerias que
> > correspondan al área seleccionada.
> >
> > foreach(SPList doclib in portal.Lists)
> > {
> > if (doclib.BaseType == SPBaseType.DocumentLibrary)
> > .
> > }
> >
> > Muchas gracias por vuestra ayuda
Respuesta Responder a este mensaje
#4 Jesus
28/04/2005 - 12:02 | Informe spam
Hola Gustavo,
Primero muchas gracias por el código que me mandaste me ha sido de gran
ayuda, pero creo que sigo teniendo un problema para conseguir posicionarme en
el área que necesito.
Tu me comentas que para ponerme en el área que necesito use:

string myArea = "http://[servidor]/[area]";

Hasta la parte "http://[servidor]" lo tengo ya que lo introduzco en una caja
de texto, pero la parte "/[area]" no consigo sacarla ya que tengo hecho un
treeview que me muestra todas las áreas que contiene mi portal.
Entonces cuando yo pincho con el ratón en una de las áreas debo mostrar las
bibliotecas asociadas que pueda tener, pero he intentado poner:

treeview.SelectedNode.FullPath;

cambiando las barras "\" por "/" pero siempre me sigue sacando todas las
bibliotecas del portal en general no las del área en particular. He intentado
sacar el ID del área en la que estoy pero no consigo hacerlo.
Espero no haberte molestado demasiado.
Gracias y un saludo.
"Jesus" wrote:

Hola, buenas.
Tengo otra pregunta relacionada con mi anterior duda de como crear un
treeview. Eso gracias a Gustavo ya lo he conseguido.
Ahora mi problema es que una vez que selecciono un área determinada en el
control treeview que me he creado quisiera poder acceder a las bibliotecas de
dependen de ese área para poder rellenar un combobox.
Con este código, consigo recorrer todas las librerias del portal, pero yo
quisiera saber si se pueden seleccionar para sólo mostrar las librerias que
correspondan al área seleccionada.

foreach(SPList doclib in portal.Lists)
{
if (doclib.BaseType == SPBaseType.DocumentLibrary)
.
}

Muchas gracias por vuestra ayuda
Respuesta Responder a este mensaje
#5 Gustavo
28/04/2005 - 18:30 | Informe spam
Hola Jesus,
De una u otra forma necesitas conseguir una referencia al Area que has
seleccionado, pues esa es la informacion que necesitas para filtrar el
resultado de la busqueda de listas. No se como has construido el arbol, pero
si en una de las propiedades de cada uno de los items guardas el URL del
area, cuando el usuario seleccione el area, podras leer la propiedad del nudo
seleccionado en donde esta tu URL. Puedes intentar guardarlo en el ID del
nudo, por ejemplo (si es que te acepta una string).
Si no puedes guardar la informacion en el arbol mismo, puedes intentar hacer
algun tipo de coleccion con la informacion (una coleccion, o un array o un
arraylist, por ejemplo) cada vez que se hace el PostBack, y basado en la
posicion puedes encontrar el URL del area de nuevo. Esto sera mas lento que
si la informacion esta guardada directamente en el arbol, pero funcionaria
tambien.
Y... no... no has molestado demasiado... 8-)
Suerte,
Gustavo
http://www.gavd.net/servers/



"Jesus" wrote:

Hola Gustavo,
Primero muchas gracias por el código que me mandaste me ha sido de gran
ayuda, pero creo que sigo teniendo un problema para conseguir posicionarme en
el área que necesito.
Tu me comentas que para ponerme en el área que necesito use:

string myArea = "http://[servidor]/[area]";

Hasta la parte "http://[servidor]" lo tengo ya que lo introduzco en una caja
de texto, pero la parte "/[area]" no consigo sacarla ya que tengo hecho un
treeview que me muestra todas las áreas que contiene mi portal.
Entonces cuando yo pincho con el ratón en una de las áreas debo mostrar las
bibliotecas asociadas que pueda tener, pero he intentado poner:

treeview.SelectedNode.FullPath;

cambiando las barras "\" por "/" pero siempre me sigue sacando todas las
bibliotecas del portal en general no las del área en particular. He intentado
sacar el ID del área en la que estoy pero no consigo hacerlo.
Espero no haberte molestado demasiado.
Gracias y un saludo.
"Jesus" wrote:

> Hola, buenas.
> Tengo otra pregunta relacionada con mi anterior duda de como crear un
> treeview. Eso gracias a Gustavo ya lo he conseguido.
> Ahora mi problema es que una vez que selecciono un área determinada en el
> control treeview que me he creado quisiera poder acceder a las bibliotecas de
> dependen de ese área para poder rellenar un combobox.
> Con este código, consigo recorrer todas las librerias del portal, pero yo
> quisiera saber si se pueden seleccionar para sólo mostrar las librerias que
> correspondan al área seleccionada.
>
> foreach(SPList doclib in portal.Lists)
> {
> if (doclib.BaseType == SPBaseType.DocumentLibrary)
> .
> }
>
> Muchas gracias por vuestra ayuda
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida