Implementazione di Master / Relazioni di dettaglio utilizzando elenchi personalizzati

Utenti del forum frequentemente come domande come questa:

> Ciao,
>
> Per favore mi dica se ci sono qualsiasi possibilità di costruire un elenco personalizzato con
> tipo di master e dettaglio (come fatture) senza utilizzo di InfoPath.
>

SharePoint fornisce alcuni fuori il box caratteristiche che supportano i tipi di requisiti aziendali come quella.

In generale, uno collega due liste insieme utilizzando una colonna di ricerca. Nell'elenco A contiene le informazioni di intestazione della fattura e lista B contiene dettagli della fattura.

Utilizzare elenchi supplementari per mantenere i numeri cliente, numeri di prodotto, ecc.

Utilizzare una query contenuto web part (in MOSS solo) e/o un data visualizzazione web part per creare visualizzazioni unite degli elenchi. SQL Server Reporting Services (SRS) disponibile anche per il segnalazione lato di esso.

Tuttavia, Ci sono alcune importanti limitazioni che lo rendono difficile da usare puro out-of-the-box caratteristiche per tutto ciò che è anche moderatamente complessa. Questi includono:

  • Dimensione di ricerca correlato elenchi vs. "intelligenza" del tipo della colonna di ricerca. Un tipo di colonna di ricerca si presenta l'interfaccia utente in modo diverso a seconda se hai attivato una selezione multipla o non. In entrambi i casi, il controllo di out-of-the-box Mostra tutti gli elementi disponibili nell'elenco di origine. Se la lista sorgente ha 1,000 elementi, che sara ' un problema. Il controllo di ricerca non pagina attraverso quegli elementi. Invece, tutti loro tira nel controllo. Che rende per un'interfaccia di utente molto imbarazzante sia in termini di prestazioni e data entry.
  • Ricerche di "tirare indietro" una colonna di informazioni. Non si può mai tirare indietro più di una colonna di informazioni dall'elenco origine. Per esempio, non è possibile selezionare un cliente "12345" e visualizzare il numero come nome e indirizzo del cliente allo stesso tempo. La ricerca Mostra solo il cliente numero e nient'altro. Questo rende per un'interfaccia utente scomodo e difficile.
  • Nessuna comunicazione intra-modulo. Ho scritto su questo qui. Non è possibile implementare CSS drop-down, attivare o disattivare in modo condizionale campi, ecc.
  • Senza eliminazioni a catena o built-in integrità referenziale. SharePoint elenchi personalizzati vengono considerati entità indipendenti e non consente di collegarli tra loro in un senso tradizionale di ERD. Per esempio, SharePoint consente di creare due elenchi personalizzati, "cliente" e "intestazione fattura". È possibile creare un'intestazione fattura che collega indietro a un cliente nell'elenco clienti. Poi, è possibile eliminare il cliente dall'elenco. Out of the box, non c'è nessun modo per evitare questo. Per risolvere questo tipo di problema, normalmente si usa i gestori eventi.

Può sembrare tetro, ma vorrei ancora utilizzare SharePoint come punto di partenza per costruire questo genere di funzionalità. Anche se ci sono spazi tra che cosa avete bisogno in una soluzione, SharePoint consente di colmare tali lacune utilizzando strumenti come:

  • Gestori eventi. Li usa per applicare l'integrità referenziale.
  • Colonne personalizzate: Creare tipi di colonna personalizzati e utilizzarli al posto della colonna di ricerca predefinito. Aggiungere il paging, buffering e funzionalità AJAX per renderli responsivi.
  • BDC. Questa funzionalità solo MOSS ci permette di query che altri SharePoint elenca con un'interfaccia utente di qualità superiore della colonna di ricerca usuale. BDC può anche raggiungere un'applicazione server di back-end. Utilizzare BDC per evitare la replica. Invece di replicare le informazioni di cliente da un back-end sistema ERP, utilizzare invece la BDC. BDC caratteristiche forniscono un'interfaccia utente gradevole per estrarre tali informazioni direttamente dal sistema ERP cui appartiene ed evita il fastidio di mantenere una soluzione di replica.

    BDC è una caratteristica MOSS (non disponibile in WSS) è difficile da configurare.

  • Modulo web ASP.NET: Creare un form AJAX-enabled completo che utilizza i servizi SharePoint oggetto modello e/o web per sfruttare gli elenchi SharePoint, fornendo un'interfaccia utente molto reattivo.

L'ultima opzione può sentire come stai iniziando da zero, ma considerare il fatto che la piattaforma SharePoint si inizia con le seguenti caratteristiche chiave:

  • Modello di sicurezza con manutenzione.
  • Sistema di menu con manutenzione.
  • "Tabella master" (vale a dire. elenchi personalizzati) con sicurezza, built-manutenzione e revisione contabile.
  • Ricerca.
  • Strumenti di integrazione back-end (BDC).

Se si inizia con un nuovo progetto vuoto in visual studio, Hai un sacco di infrastrutture e impianti idraulici per costruire prima di arrivare nei pressi di quello che SharePoint offre.

Credo che Microsoft intende estendere SharePoint in questa direzione di sviluppo di applicazioni. Sembra come una naturale estensione di SharePoint esistente base. Applicazione CRM di Microsoft fornisce una grande quantità di estensibilità dei tipi necessari per supportare lo sviluppo di applicazioni di intestazione/dettaglio. Anche se queste caratteristiche sono in CRM, la tecnologia è ovviamente disponibile per il team di sviluppo di SharePoint e mi aspetto che nel prodotto SharePoint farà sua strada entro la fine del 2008. Se qualcuno ha una conoscenza o la comprensione in questo, si prega di lasciare un commento.

</fine>

5 pensieri su "Implementazione di Master / Relazioni di dettaglio utilizzando elenchi personalizzati

  1. Paul Galvin

    Rivola, Non credo che c'è un modo facile per farlo. Concentro sulla formazione degli utenti quando utilizzare che uno di loro e magari dare loro un suggerimento con il nome del contenuto tipo stesso. Non credo che si può davvero inchiodare questo uno, tecnicamente.

    Risposta
  2. Rinaldi ha scritto:
    Sto creando realationship padre/figlio utilizzando due tipi di contenuto ed elenco personalizzato, come spiegato nel commnet sopra. Ma ho un problema; Ho bisogno di fare la voce tipo di contenuto non disponibile a livello di cartella e tipo di contenuto cartella non disponibile a livello di elemento. Per favore mi guida su questo. Grazie…
    Risposta
  3. Michael Vickers

    È un po' un kludge ma io uso un elenco a discesa di ASP.Net che nasconde la ricerca "a discesa" generato da SharePoint. I punto elenco a discesa ASP.Net un datasource basato sulla lista contenente l'elemento di ricerca, che mi permette di utilizzare il campo ID come il valore e la colonna della mia scelta, come il testo visualizzato. Non legano ASP.Net menu a discesa nel campo di ricerca elenco perché genera errori lato server.

    Caricamento della pagina utilizzare javascript per assegnare il valore corretto per la discesa di ASP.Net, e poi fissare gli eventi onchange all'elenco a discesa per assegnare nuovi valori per il corrispondente a discesa di ricerca di SharePoint. Io in realtà nascondere la riga contenente il menu a tendina di SharePoint.

    Un'ultima cosa — a causa del modo SharePoint rende goofy ricerca elenchi a discesa quando il numero di elementi viene passato 20 Io uso oggetto wrapper personalizzati per ottenere o impostare il valore a discesa. Ho un post sul blog quel processo qui in dettaglio:

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

    Cheers,

    Michael

    Risposta
  4. David

    Si può creare un tipo di contenuto per l'intestazione della fattura sulla base del tipo di contenuto cartella e quindi creare un altro tipo di contenuto della fattura e aggiungere entrambi a un elenco SharePoint. Questo in effetti crea una relazione padre/figlio che vi permetterà di creare più fatture sulla base del tipo di contenuto di fattura che vivono sotto il tipo di contenuto dell'intestazione fattura che ti dà e immediata relazione tra i due elementi e se l'intestazione della fattura voce di elenco è eliminato tutti gli elementi figlio fattura all'interno di tale cartella verrà eliminato. È inoltre possibile specificare che un tipo di contenuto è disponibile solo all'interno di una certa cartella. Questo approccio è simile a come la biblioteca di discussione funziona ed è molto utile per questo tipo di relazione tra gli elementi. Codice e gestori eventi contribuirà con alcune altre limitazioni, ma nel complesso una soluzione rapida e facile.

    Risposta

Lasciare una risposta a Rinaldi ha scritto: cancella risposta

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *