Aplicació de Màster / Detall les relacions utilitzant llistes personalitzades

Usuaris del Fòrum amb freqüència com preguntes com aquesta:

> Hola,
>
> Si us plau digui'm si hi ha alguna possibilitats per construir una llista personalitzada amb
> tipus de mestre i detall (com factures) sense usant l'InfoPath.
>

SharePoint proporciona alguna de les característiques de la caixa que donen suport a tipus de requeriments de negoci d'aquesta.

En general, un enllaça dues llistes amb una columna de cerca. Llista, A conté la informació de capçalera de factura i llista B conté dades de la factura.

Utilitzar llistes addicionals per mantenir els números d'atenció al client, números de producte, etc.

Utilitzar un element web de consulta de continguts (en MOSS només) i/o unes dades Mostra l'element web per crear visualitzacions combinades de les llistes. Serveis d'informació de servidor SQL (SRS) també està disponible per al costat d'informació de la mateixa.

No obstant això, hi ha algunes limitacions importants que es fa difícil d'utilitzar purs fora-de-les funcionalitats per a qualsevol cosa que és fins i tot moderadament complexa. Aquests inclouen:

  • Mida de cerca relacionats amb les llistes de vs. "smartness" del tipus columna de cerca. Un tipus de columna de cerca es presenta en l'UI de manera diferent segons si heu activat selecció múltiple o no. En qualsevol cas, el control de sortida-of-the-box Mostra tots els articles disponibles a la llista de font. Si té la llista de font 1,000 elements, que ha de ser un problema. El control de cerca la pàgina no a través d'aquells elements. En canvi, tots ells es tira en el control. Que fa que una interfície d'usuari molt incòmode tant en termes d'entrada de dades i rendiment.
  • Cerques "tiri cap enrere" una columna d'informació. Mai pot tirar enrere a més d'una columna d'informació de la llista de font. Per exemple, no es pot seleccionar un client "12345" i mostrar el nombre com el nom del client i la adreça al mateix temps. La cerca només Mostra el client nombre i res més. Açò fa que una interfície d'usuari incòmoda i difícil.
  • Cap comunicació intra-forma. He escrit sobre aquest aquí. Vostè no pot implementar llistes desplegables en cascada, condicionalment permetre/impossibilitar camps, etc.
  • No suprimeix en cascada o incorporat en la integritat referencial. SharePoint tracta llistes de costum com a entitats independents i no permeten enllaçar-los a l'altre en un sentit tradicional ERD. Per exemple, SharePoint permet crear dues llistes personalitzades, "atenció al client" i "capçalera de factura". Podeu crear una capçalera de factura que enllaça a un client en la llista de client. Llavors, el client pot suprimir de la llista. Fora de la caixa, no hi ha cap manera d'evitar-ho. Per resoldre aquesta classe de problema, normalment utilitzaríeu controladors d'incidències.

Pot semblar desolat, però encara utilitzaria SharePoint com a punt de partida per a la construcció d'aquest tipus de funcionalitat. Encara que hi ha diferències entre el que vostè necessita en una solució, SharePoint permet a omplir aquests buits utilitzar eines com ara:

  • Controladors d'incidències. Utilitzar-los per fer complir la integritat referencial.
  • Columnes de costum: Tipus de columna personalitzat de crear i utilitzar-los en lloc de la columna de cerca per defecte. Afegir paginació, buffering i trets d'AJAX per fer-los sensibles.
  • BDC. Aquesta característica només molsa ens permet a la consulta de que llistes d'altre del SharePoint amb una interfície d'usuari superior a la columna de cerca habitual. BDC també pot arribar a una aplicació de servidor de back-end. Ús BDC evitar replicació. En lloc de replicar la informació del client d'un sistema ERP back-end, utilitzar en canvi del BDC. Característiques del servei BDC proporcionar una interfície d'usuari bonica per treure aquesta informació directament des del sistema d'ERP on pertany i evita la molèstia de mantenir una solució de replicació.

    BDC és un tret de molsa (no disponible en WSS) i és difícil de configurar.

  • Formulari web de l'ASP.NET: Crear un complert AJAX-formulari habilitat que utilitza l'objecte model i/o web serveis de SharePoint per aprofitar les llistes del SharePoint mentre que proporciona una interfície d'usuari molt sensible.

L'última opció pot sentir com vostè està començant des de zero, però tenir en compte el fet que la plataforma de SharePoint arrenca vostè amb les següents característiques claus:

  • Model de seguretat amb el manteniment.
  • Sistema de menú amb el manteniment.
  • "Mestre de taula" (i. e. llistes de costum) amb seguretat, manteniment predefinit i l'auditoria.
  • Cerca.
  • Eines d'integració de back-end (BDC).

Si comences amb un nou projecte en blanc en estudi visual, tens un munt d'infraestructura i fontaneria per construir abans d'arribar a prop el que ofereix el SharePoint.

Crec que Microsoft pretén estendre SharePoint en aquesta direcció de desenvolupament d'aplicacions. Sembla com una extensió natural a la base de SharePoint existent. L'aplicació de Microsoft CRM proporciona una gran quantitat d'extensibilitat dels tipus necessitava donar suport el desenvolupament d'aplicacions de capçalera/detalls. Encara que aquells trets són al CRM, la tecnologia és, òbviament, disponible a l'equip de desenvolupament del SharePoint i espero que farà seu camí en el producte de SharePoint per final de 2008. Si algú té un coneixement o informació sobre això, Si us plau deixar un comentari.

</final>

Etiquetas de Technorati:

5 comentaris a "Aplicació de Màster / Detall les relacions utilitzant llistes personalitzades

  1. Paul Galvin

    Raghu, No crec que no hi ha cap manera fàcil de fer-ho. Agradaria centrar-se en la formació als usuaris quan utilitzar que un d'ells i potser donar-los una pista amb el nom del contingut propi tipus. No crec que vostè pot realment clavar aquest, tècnicament.

    Resposta
  2. Raghu va escriure:
    Estic creant pare/fill realationship mitjançant l'ús de dos tipus de contingut i llista de costum com s'explica en la commnet de dalt. Però tinc un problema; He de fer continguts tipus d'element no disponible a nivell de la carpeta i el tipus de contingut de carpeta no està disponible a nivell d'element. Si us plau guiï'm en aquest. Gràcies…
    Resposta
  3. Michael Vickers

    És una mica d'un nyap però jo faig servir un desplegable d'ASP.Net que la cerca "dropdown d'ombres" generat pel SharePoint. Vaig apuntar al menú desplegable de l'ASP.Net a un origen de dades basat en la llista que conté l'element de cerca, que em permet utilitzar el camp ID com el valor i la columna de la meva elecció com el text de visualització. No associar al menú desplegable de l'ASP.Net a la camp de llista de cerca perquè genera errors de servidor.

    En càrrega de pàgina puc utilitzar javascript per assignar el valor correcte a la llista desplegable de l'ASP.Net, i llavors adjunti els esdeveniments de la incidència onchange per aquella llista desplegable d'assignar nous valors a la corresponent desplegable de cerca del SharePoint. Jo en realitat amaguen la fila que conté la llista desplegable de SharePoint.

    Una última cosa — a causa del camí SharePoint rendeix desplegables ximple de la cerca quan aconsegueix el nombre d'elements més enllà de 20 Utilitzo objecte contenidor de costum per obtenir/conjunt el valor de llista desplegable. Tinc una entrada de bloc que detalla aquest procés aquí:

    http://www.idiotsyncrasies.com/2007/12/lookup-list-dropdowns-in-sharepoint.aspx

    Alegries,

    Michael

    Resposta
  4. David

    Podeu crear un tipus de contingut per a la capçalera de factura basada en el tipus de contingut de carpeta i llavors crear un altre tipus de contingut de la factura i afegiu tots dos a una llista del SharePoint. Això en efecte crea una relació pare/fill que li permetrà crear múltiples factures basats en el tipus de contingut de factura que viuen sota el tipus contingut de capçalera de factura que li dóna i immediata relació entre els dos elements i s'esborraran si la capçalera de factura element de la llista és suprimit tots els elements de factura de nen dins d'aquella carpeta. També podeu especificar que un tipus de contingut només estarà disponible des de dins una certa carpeta. Aquest plantejament és similar a com la biblioteca de discussió funciona i és molt útil per a aquest tipus de relació entre els elements. Controladors d'incidències i codi ajudarà amb alguns altres limitacions però en general una ràpida solució fàcil.

    Resposta

Deixi una contestació a Raghu va escriure: Cancel resposta

no es publicarà la seva adreça de correu electrònic. Els camps necessaris estan marcats *