OPDATERING (04/2008): Denne store blog viser en god javascript-baseret tilgang til problemet: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html
UPDATE II: (04/2008): Denne blog ser lovende samt: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/
Flere gange om ugen, Hvis ikke daglige, forum brugere beskriver et krav, der normalt ville blive opfyldt via overlappende drop-downs. For eksempel, Jeg har to henlægge-nede Kontroller:
- Liste over USA. stater
- Liste over USA. byer.
Som ansvarlig UI udbydere, Vi vil have det til at fungere som denne:
- Paul vælger en U.S. staten fra drop-down.
- Dette forårsager byer drop-down til at filtrere kun de byer, der tilhører den valgte tilstand.
- Paul vælger en by fra dette filtreret liste.
Der er ingen out-of-the-box understøttelse af denne funktion. Faktisk, der er ingen OOB support for enhver form for direkte handel-form kommunikation. Dette omfatter programmatisk skjule/aktivering/deaktivering felter feltændringer andre steder i formularen i forbindelse.
Det virkelige mål i denne artikel til at beskrive mulige løsninger og disse er valgmuligheder som jeg kender dem:
- Udvikle en brugerdefineret kolonnetype. Som en brugerdefineret-kolonne-udvikler, du har fuld kontrol over hele "verden" i den brugerdefinerede kolonne. Du kan implementere en cascading drop-down på den måde.
- Overvej at bruge arbejdsproces. I nogle tilfælde, du vil til automatisk at tildele en værdi til område baseret på en anden feltværdi. I dette tilfælde, du ville normalt forsøger at bruge en beregnet kolonne, men nogle gange, det få bare ikke arbejdet gjort. SharePoint Designer arbejdsprocessen er en relativt administrere-venligt alternativ til at droppe ned til kode og visual studio. Hvis du gå denne vej, være opmærksomme på spørgsmålet løses ved denne artikel (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
- Hændelseshandlere: Ligesom arbejdsproces, Dette er en efter-the-fact løsning. Hændelseshandleren er en .NET forsamling (C#, VB.NET) til hvilke SharePoint passerer kontrol. Det objekt, du udvikler har adgang til data fra listen (og hele objektmodellen) og kan gøre eventuelle nødvendige beregning.
- Brug SharePoint Designer til at oprette brugerdefinerede blanketter. Jeg har ikke direkte erfaring med denne tilgang, but I hear they are doing good things with NewForm.aspx these days 🙂
- Roll din egen ASP.NET data entry funktion (som en stand-alone webside eller som en webdel) og bruge det i stedet.
Hvis nogen kender andre og/eller bedre muligheder, Skriv venligst en kommentar og jeg vil opdatere kroppen af dette indlæg.
<afslutning />
Paul,
Tjek denne ud: http://www.spsdev.com/filter.aspx .
Fra deres hjemmeside: "SpsDev.Com 's filterfelt er et brugerdefineret felttype, der gør filtrering.
Du kan føje en til mange filtreringsfelter til din liste eller dit bibliotek, og hver man kan
filtrere baseret på en anden filtreret felt i listen. Vælge en tilstand i
ét felt, og liste over byer i det næste felt er filtreret for at kun vise
elementer fra den pågældende stat, for eksempel. Vi støtter i denne udgivelse SQL Server
2000 og 2005, og Xml som kilder til feltdata. Når du ændrer en
udvalg i nogen af rullemenuer, alle rullemenuer under det er hver
filtreret for at vise kun de hensigtsmæssige valg baseret på valget der er
blevet gjort."
– Monjo