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

#6 Jesus
05/05/2005 - 12:28 | Informe spam
Hola de nuevo Gustavo,
Sigo teniendo los problemillas que te comenté para sacar las bibliotecas que
tengo dentro de un área determinada.

string miAreaBarrasMal = txtURLSPS.Text + "/" +
explorador.SelectedNode.FullPath + "/";
string miArea = miAreaBarrasMal.Replace(@"\", @"/");
SPSite miSitio = new SPSite(miArea);
miWeb = miSitio.OpenWeb();

SPListCollection miColeccion = miWeb.Lists;
cmbBibliotecas.Items.Clear();

foreach(SPList miLista in miColeccion)
{
if (miLista.BaseType == SPBaseType.DocumentLibrary)
cmbBibliotecas.Items.Add(miLista.Title);
}
He puesto este código en mi página, tengo en la variable txtURLSPS el nombre
del sitio "http://[nombre_maquina]:[puerto]", y le añado lo que viene en la
variable FullPath para tener la ruta completa.
Luego he ido haciendo lo que me comentaste, y en el bucle foreach voy
añadiendo solamente las bibliotecas a un combo.
El problema es que da igual la ruta en la que me encuentre, siempre me
aparecen las mismas bibliotecas: Biblioteca de documentos, Biblioteca de
imágenes, Galería de elementos Web, Galería de plantillas de listas,
pero no aparecen ninguna de las bibliotecas creadas por mi.

Gracias por la ayuda.
"Gustavo" wrote:

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
#7 Gustavo
10/05/2005 - 16:31 | Informe spam
Hola Jesus,
Disculpa la demora, pero no estaba por aqui en estos dias.
Las bibliotecas que mencionas son todas creadas por defecto en cada sitio.
Estas seguro que las bibliotecas que has creado son del tipo "Biblioteca de
documentos"?
Si las librerias son de otro tipo, probablemente seran del tipo "GenericList".
Para ver que pasa, elimina el filtro que has puesto (if (miLista.BaseType ==
SPBaseType.DocumentLibrary)), y asi veras la lista con todas las librerias
que hay en el sitio.
Suerte,
Gustavo
http://www.gavd.net/servers/default.aspx


"Jesus" wrote:

Hola de nuevo Gustavo,
Sigo teniendo los problemillas que te comenté para sacar las bibliotecas que
tengo dentro de un área determinada.

string miAreaBarrasMal = txtURLSPS.Text + "/" +
explorador.SelectedNode.FullPath + "/";
string miArea = miAreaBarrasMal.Replace(@"\", @"/");
SPSite miSitio = new SPSite(miArea);
miWeb = miSitio.OpenWeb();

SPListCollection miColeccion = miWeb.Lists;
cmbBibliotecas.Items.Clear();

foreach(SPList miLista in miColeccion)
{
if (miLista.BaseType == SPBaseType.DocumentLibrary)
cmbBibliotecas.Items.Add(miLista.Title);
}
He puesto este código en mi página, tengo en la variable txtURLSPS el nombre
del sitio "http://[nombre_maquina]:[puerto]", y le añado lo que viene en la
variable FullPath para tener la ruta completa.
Luego he ido haciendo lo que me comentaste, y en el bucle foreach voy
añadiendo solamente las bibliotecas a un combo.
El problema es que da igual la ruta en la que me encuentre, siempre me
aparecen las mismas bibliotecas: Biblioteca de documentos, Biblioteca de
imágenes, Galería de elementos Web, Galería de plantillas de listas,
pero no aparecen ninguna de las bibliotecas creadas por mi.

Gracias por la ayuda.
"Gustavo" wrote:

> 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
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida