Genomföra Master / Detalj relationer med anpassade listor

Forumet användare ofta som frågor som denna:

> Hej,
>
> Säg mig om det finns några möjligheter att bygga en anpassad lista med
> huvud- och detaljsidor typ (som fakturor) utan att använda InfoPath.
>

SharePoint innehåller några av de ruta funktioner som stöder typer av krav som.

I allmänhet, en länkar två listor tillsammans med en uppslagskolumn. Listan innehåller faktura rubrikinformation och B-listan innehåller Fakturadetaljer.

Använda ytterligare listor för att upprätthålla kundnummer, Produktnummer, m.m..

Använda en innehåll frågan webbdel (i MOSS endast) och/eller en data Visa webbdelen för att skapa kopplade vyer av listorna. SQL Server Reporting Services (SRS) är även tillgänglig för det rapporterande sida.

Men, Det finns några viktiga begränsningar som gör det svårt att använda ren out-of-the-box-funktioner för något som är ens måttligt komplexa. Dessa inkluderar:

  • Storleken på relaterade sökning visar vs. "smartness" i kolumnen uppslagstyp. En kolumn uppslagstyp presenterar sig på UI annorlunda beroende på om du har aktiverat Multi-SELECT eller inte. I båda fallen, out-of-the-box kontrollen visar alla tillgängliga objekt från källan listan. Om källistan har 1,000 objekt, Det kommer att vara ett problem. Sökkontroll inte bläddra igenom dessa poster. I stället, Det drar dem alla i kontrollen. Det gör för en mycket besvärliga användargränssnittet både inmatning av data och prestanda.
  • Sökningar "pull tillbaka" en informationskolumn. Du kan aldrig dra tillbaka mer än en kolumn av information från källan listan. Till exempel, Du kan inte välja en kund "12345" och Visa nummer samt kundens namn och adress på samma gång. Sökningen visar bara kunden nummer och inget annat. Detta gör för ett besvärligt och svårt användargränssnitt.
  • Ingen handel-form kommunikation. Jag har skrivit om detta här. Du kan inte genomföra CSS-listrutor, villkorligt aktivera/inaktivera fält, m.m..
  • Ingen sammanhängande borttagning eller inbyggda referensintegritet. SharePoint behandlar anpassade listor som självständiga enheter och tillåter inte dig att länka dem till varandra i en traditionell ERD känsla. Till exempel, SharePoint kan du skapa två anpassade listor, "kunden" och "fakturahuvudet". Du kan skapa en fakturahuvudet som länkar tillbaka till en kund i kundlistan. Sedan, Du kan ta bort kunden från listan. Ur lådan, Det finns inget sätt att förhindra detta. Att lösa denna typ av problem, du skulle normalt använda händelsehanterare.

Det kan tyckas hopplöst, men jag vill fortfarande använda SharePoint som utgångspunkt för att bygga denna typ av funktionalitet. Även om det finns luckor mellan vad du behöver i en lösning, SharePoint gör det möjligt för oss att fylla dessa luckor med hjälp av verktyg som:

  • Händelsehanterare. Använda dem för att använda referensintegritet.
  • Anpassade kolumner: Skapa anpassade kolumntyper och använda dem i stället för uppslagskolumnen standard. Lägg till personsökning, buffring och AJAX funktioner som gör dem lyhörda.
  • BDC. MOSS-bara funktionen ger oss möjlighet att fråga andra SharePoint-listor med en överlägsen användargränssnitt för vanliga uppslagskolumnen. BDC kan också nå ut till ett serverprogram för back-end. Använda Affärsdatakatalogen för att undvika replikering. I stället för replikering av kundinformation från en bakdelen ERP-system, använda Affärsdatakatalogen istället. BDC-funktionerna ger ett trevligt användargränssnitt för att dra denna information direkt från affärssystemet där den hör hemma och undviker besväret med att upprätthålla en replikeringslösning.

    BDC är en funktion som MOSS (inte tillgängligt i WSS) och är en utmaning för att konfigurera.

  • ASP.NET webbformulär: Skapa ett full-featured AJAX-aktiverade formulär som använder SharePoint objektet modell och web services för att utnyttja SharePoint-listor samtidigt som ett mycket lyhörda användargränssnitt.

Det sista alternativet, kanske tycker du börjar från scratch, men anser att det faktum att SharePoint-plattformen börjar du med följande nyckelfunktioner:

  • Säkerhetsmodell med underhåll.
  • Menysystemet med underhåll.
  • "Master tabell" (dvs. anpassade listor) med säkerhet, inbyggda underhåll och revision.
  • Sök.
  • Backend integreringsverktyg (BDC).

Om du startar med ett nytt tomt projekt i visual studio, du har en hel del infrastruktur och VVS att bygga innan du kommer nära till SharePoint erbjuder.

Jag tror att Microsoft planerar att utöka SharePoint i denna riktning för applikationsutveckling. Det verkar som en naturlig förlängning av den befintliga SharePoint som bas. Microsofts CRM-programmet ger stor tänjbarhet av de typer som behövs för att stödja huvudet/Detaljer applikationsutveckling. Även om dessa funktioner finns i CRM, tekniken är givetvis tillgänglig till utvecklingsteamet SharePoint och jag förväntar mig att det kommer att göra sin väg in SharePoint produkten slutet av 2008. Om någon har en kunskap eller insikt i detta, lämna gärna en kommentar.

</slutet>

5 tankar på "Genomföra Master / Detalj relationer med anpassade listor

  1. Paul Galvin

    Raghu, Jag tror inte det finns något enkelt sätt att göra det. Jag skulle fokusera på utbildning användare när du använder en av dem och kanske ge dem en ledtråd med namnet på innehållet skriver själv. Jag tror inte att du kan verkligen nail här, tekniskt.

    Svar
  2. Raghu wrote:
    Jag skapa överordnad/underordnad realationship genom att använda två innehållstyper och anpassad lista som förklaras i den ovan nämnda commnet. Men jag har ett problem; Jag måste göra objektet innehållstyp tillgänglig på mappnivå och mappen innehållstyp tillgänglig på objektet nivå. Vänligen vägleda mig på denna. Tack…
    Svar
  3. Michael Vickers

    Det är lite av en kludge men jag använda en ASP.NET dropdown som skuggor sökning "dropdown" genereras av SharePoint. Jag ASP.NET dropdown till en datakälla som baseras på en lista som innehåller objektet sökning, låter mig använda ID-fältet som värdet och kolumnen i mitt val som visningstext. Jag inte binda ASP.Netto dropdown till sökfältet listan eftersom den genererar SSI-fel.

    På sidan laddar använder jag javascript för att tilldela rätt värde till ASP.NET dropdown, och sedan bifoga den nedrullningsbara tilldela nya värden till motsvarande SharePoint sökning dropdown onchange events. Jag vill faktiskt dölja den rad som innehåller SharePoint dropdown.

    En sista sak — grund av sättet återger SharePoint långbent sökning dropdowns när antalet objekt blir tidigare 20 Jag använder anpassade wrapper-objekt för att get/set dropdown värdet. Jag har ett blogginlägg om processen här:

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

    Skål,

    Michael

    Svar
  4. David

    Du kan skapa en innehållstyp för inköpsfakturans huvud utifrån innehållstyp mapp och sedan skapar en annan faktura innehållstyp och lägga till både en SharePoint-lista. Detta i praktiken skapar en överordnad/underordnad-relation som gör att du kan skapa flera fakturor baserade på fakturan innehållstypen som lever under fakturan huvudet innehållstypen som ger dig och omedelbar relation mellan två objekt och om fakturahuvudet listobjekt är bort alla barn faktura artiklar inom mappen att tas bort. Du kan också ange att en innehållstyp endast vara tillgänglig från inom en viss mapp. Denna metod liknar hur diskussionen biblioteket fungerar och är mycket användbar för denna typ av relation mellan objekt. Händelsehanterare och koden kommer att bidra med vissa andra begränsningar men övergripande en snabb enkel lösning.

    Svar

Lämna ett svar till Raghu wrote: Avbryt svar

Din e-postadress kommer inte att publiceras. behövliga fält är markerade *