UPDATE (04/2008): Deze geweldige blog entry toont een goede javascript gebaseerde aanpak van dit probleem: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html
UPDATE II: (04/2008): Deze blog entry ziet er veelbelovend zo goed: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/
Meerdere malen per week, Als niet dagelijks, forumgebruikers beschrijven een eis die gewoonlijk zou worden voldaan via trapsgewijze drop-downs. Bijvoorbeeld, Ik heb twee besturingselementen van vervolgkeuzelijst:
- Lijst van U.S. Staten
- Lijst van U.S. steden.
Als verantwoordelijk UI aanbieders, We wilt werken als dit:
- Paul selecteert een U.S. staat uit de drop-down.
- Dit zorgt ervoor dat de steden vervolgkeuzelijst om te filteren alleen die steden die deel uitmaken van de geselecteerde status.
- Paul kiest dit gefilterde lijst een stad.
Er is geen out-of-the-box ondersteuning voor deze functie. Eigenlijk, Er is geen OOB ondersteuning voor elk soort directe intra-vorm mededeling. Dit omvat programmatisch verbergen/activeren/deactiveren velden in reactie op veld veranderingen elders op het formulier.
Het echte doel van dit artikel om te beschrijven mogelijke oplossingen en deze zijn de opties aangezien ik ken ze:
- Ontwikkelen van een aangepaste kolomtype. Als een aangepaste-kolom-ontwikkelaar, u hebt volledige controle over de wereld"" van die aangepaste kolom. U kunt implementeren een trapsgewijze keuzelijst die manier.
- Overweeg het gebruik van de werkstroom. In sommige gevallen, u wilt een waarde automatisch aan veld op basis van de waarde van een ander veld toewijzen. In dit geval, u zou normaal probeert te gebruiken een berekende kolom, maar sommige tijden, het krijgen gewoon niet de klus te klaren. SharePoint Designer workflow is een relatief beheren-vriendelijk alternatief voor het laten vallen naar beneden in de code en visual studio. Als je deze route te gaan, zich bewust zijn van de kwestie die in dit artikel (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
- Gebeurtenis-handlers: Als de werkstroom, Dit is een oplossing na-de-feit. De gebeurtenis-handler is een .NET-assembly (C#, VB.NET) naar welke SharePoint wordt de controle overgedragen. Het object dat u ontwikkelen heeft toegang tot de gegevens van de lijst (en het hele objectmodel) en elke benodigde berekening kunt doen.
- SharePoint Designer gebruiken om aangepaste vermelding formulieren te maken. Ik heb geen directe ervaring met deze aanpak, maar ik hoor ze doen goede dingen met NewForm.aspx deze dagen 🙂
- Uw eigen ASP.NET-gegevensfunctie vermelding roll (Als een zelfstandige webpagina of als een webonderdeel) en dat in plaats daarvan gebruiken.
Als iemand andere en/of betere opties weet, post een reactie en ik zal updaten de tekst van dit bericht.
<einde />
Paul,
Dit controleren: http://www.spsdev.com/filter.aspx .
Van hun site: "SpsDev.Com, de filterveld is een type aangepast veld dat filteren doet.
U kunt een te veel filtervelden toevoegen aan uw lijst of bibliotheek, en elke men kan
op een ander gefilterde veld in de lijst worden gefilterd op basis. Kies een staat
één veld, en de lijst van steden in het volgende veld is gefilterd, zodat alleen weergeven
items uit die lidstaat, bijvoorbeeld. We ondersteuning in deze release van SQL Server
2000 en 2005, en Xml als bronnen voor de veldgegevens. Als u een
selectie in een van de drop-downs, alle van de drop-downs eronder zijn elk
gefilterd zodat alleen de juiste keuzes op basis van de selectie dat is
geboekt."
– Monjo