MISE À JOUR (04/2008): Cet excellent blog montre une approche bien javascript basé à ce problème: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html
MISE À JOUR II: (04/2008): Cette entrée de blog est prometteuse ainsi: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/
Plusieurs fois par semaine, Si pas quotidiennement, Forum des utilisateurs décrivent une exigence qui serait normalement atteint via les listes déroulantes en cascade. Par exemple, J'ai deux contrôles déroulants:
- Liste des États-Unis. États
- Liste des États-Unis. villes.
En tant que responsables fournisseurs UI, Nous voulons qu'elle fonctionne comme ceci:
- Paul sélectionne un U.S. État dans le menu déroulant.
- Cela provoque les villes liste déroulante pour filtrer uniquement les villes qui appartiennent à l'état sélectionné.
- Paul choisit une ville dans cette liste filtrée.
Il n'y a aucun soutien d'out-of-the-box pour cette fonctionnalité. En fait, Il n'y a aucun soutien OOB pour tout type de communication intra-forme directe. Cela inclut par programme masquage/activation/désactivation des champs en réponse aux changements de champ ailleurs sur le formulaire.
Le véritable objectif de cet article à pour décrire les solutions possibles et ce sont les options que je les connais:
- Développer un type de colonne personnalisé. En tant que coutume-colonne-développeur, vous avez un contrôle total sur le monde"" Cette colonne personnalisée. Vous pouvez implémenter une cascade vers le bas comme ça.
- Envisagez d'utiliser des flux de travail. Dans certains cas, vous voulez assigner automatiquement une valeur au champ basé sur valeur d'un autre champ. Dans ce cas, normalement, vous essayeriez d'utiliser une colonne calculée, mais certaines fois, il ne sera pas juste faire le travail. Flux de travail SharePoint Designer est une alternative relativement facile administrer à descendre dans le code et visual studio. Si vous suivez cette voie, être au courant de la question traitée par Cet article (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
- Les gestionnaires d'événements: Comme le flux de travail, Il s'agit d'une solution après le fait. Votre gestionnaire d'événements est un assembly .NET (C#, VB.NET) transmet le contrôle à laquelle SharePoint. L'objet que vous développez a accès aux données de la liste (et le modèle d'objet complet) et peut faire n'importe quel calcul nécessaire.
- Utiliser SharePoint Designer pour créer des formulaires d'inscription personnalisés. Je n'ai pas l'expérience directe avec cette approche, but I hear they are doing good things with NewForm.aspx these days 🙂
- Rouler votre propre fonction d'entrée de données ASP.NET (comme une page web autonome ou un composant WebPart) et utiliser à la place.
Si quelqu'un sait options autres et/ou mieux, s'il vous plaît poster un commentaire et je vais mettre à jour le corps de ce post.
<fin />
Paul,
Vérifier cela: http://www.spsdev.com/filter.aspx .
Depuis leur site: "Champ de filtre des SpsDev.Com est un type de champ personnalisé qui effectue le filtrage.
Vous pouvez en ajouter un à plusieurs champs de filtre à votre liste ou bibliothèque, et chaque que l'on puisse
être filtrées en fonction sur un autre champ filtré dans la liste. Choisissez un État dans
un seul champ, la liste des villes dans le champ suivant est filtré pour n'afficher que les
éléments de cet État, par exemple. Dans cette version, nous soutenons SQL Server
2000 et 2005, et Xml comme sources pour les données de champ. Lorsque vous modifiez un
sélection dans l'un des bas goutte, tous les bas de la chute en dessous sont chacun
filtré pour afficher uniquement les choix appropriés basés sur la sélection c'est
été déposée."
– Monjo