Punto compartido:¿La mejor manera de mostrar listas de contenido que no es de Sharepoint con una interfaz de usuario "compatible"?

StackOverflow https://stackoverflow.com/questions/75747

Pregunta

Creé un elemento web para Sharepoint que recupera datos de un servicio externo.Me gustaría mostrar los elementos de una manera que sea compatible con la interfaz de usuario con Sharepoint (que se ajuste a su entorno).

Conozco el "DataFormWebPart" pero no pude lograr que funcionara correctamente.Requiere una fuente de datos válida y no pude crear una a partir de los resultados de una llamada al servicio web...Parte del problema es que los contenedores de mis servicios web no exponen la información de devolución XML, sino que tengo un montón de objetos deserializados.No parece haber una manera fácil de convertir objetos reales en una fuente de datos o de completar una fuente de datos "genérica" ​​a partir de datos de objetos.

Podría usar un SPGridView para obtener la misma interfaz de usuario, pero el control de cuadrícula no tiene mucha inteligencia y fuerza cada campo en su propia columna.Preferiría representar cada elemento de la lista como una sola celda con una representación compleja (por ejemplo, la forma en que StackOverflow muestra sus listas de preguntas). También me gustaría obtener la mayor cantidad posible de la interfaz de usuario estándar de Sharepoint, como los controles de clasificación, filtrado y paginación.

Entonces, primero:¿Alguien aquí ha escrito un control de Sharepoint que haga esto y, de ser así, tiene un código de muestra para compartir?Si no:¿Estoy pasando por alto algún control útil, ya sea proporcionado por MS o disponible en una biblioteca externa?

¡Gracias!esteban

¿Fue útil?

Solución

Punto compartido:¿La mejor manera de mostrar listas de contenido que no sean de SHAREPING con UI "compatible"?

Eche un vistazo a los controles web integrados de SharePoint:

Espacio de nombres Microsoft.SharePoint.WebControls

Contiene todos los controles utilizados en sharepoint.Te contaría más, pero la documentación es muy completa.

Otros consejos

El problema con SharePoint es que hay muchas formas diferentes de hacer esto.Si sus datos no cambian con demasiada frecuencia y no son demasiado grandes, puede valer la pena considerar ingresarlos en una lista para mostrarlos.Si tiene la licencia Enterprise, puede que valga la pena introducir sus datos en BDC y utilizarlos allí.es posible que deba convertir los objetos a xml o utilizar los objetos serializados con el elemento web XML para su visualización.Esto todavía tiene el problema de la representación personalizada usando XSLT.

Aquí hay un excelente artículo que explica cómo configurar conexiones BDC a servicios web usando el Editor de definiciones BDC:

Creación de una conexión de servicio web mediante el editor de definiciones del catálogo de datos profesionales http://msdn.microsoft.com/en-us/library/bb737887.aspx

La mejor manera de hacer esto en mi opinión es crear un elemento web.Como elemento web, la interfaz de usuario se representará automáticamente para que sea el mismo que el tema que utiliza el sitio (a menos que lo anule) y cualquier persona con privilegios de administrador podrá colocarla en cualquier lugar.

Puede crear un elemento web personalizado y utilizar SPGridView.Dices que no te gusta porque fuerza cada campo a su propia columna, pero eso no es cierto.Puede crear una plantilla (ITemplate) para cada columna y personalizar completamente lo que se muestra dentro de ella, tal como lo haría con un ASP.Net GridView normal.Usando este enfoque, agregué pequeñas imágenes "Nuevas" justo al lado del título de un elemento de la lista, tal como lo hace SharePoint.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top