2010-07-22 9 views
1

Avec une liste de points de partage, est-il possible de calculer une valeur de colonne en se basant sur d'autres colonnes de la valeur de liste en utilisant une méthode C#?Liste Sharepoint 2010, valeur calculée

Ma liste contient les dates de début et de fin et je souhaite afficher les jours ouvrables de ces dates en utilisant une méthode C# faite maison. Je préférerais le faire en temps réel lors de l'affichage de la liste, mais si ce n'est pas possible, est-il possible d'appeler ma méthode C# lors de la création d'une nouvelle ligne?

Merci de par avance ^^

Répondre

2

Vous pouvez mettre votre code dans un récepteur de l'événement qui se déclenche sur l'élément ajouté/mis à jour.

Voici un exemple: Developing an Event Receiver for a Document Library

+0

Ok, avec votre lien et celui-ci (http://msdn.microsoft.com/en-us/library/ms437502.aspx), j'ai créé un récepteur d'événements qui fonctionne mais avec toutes les listes personnalisées! Est-il possible de faire correspondre seulement la liste que je veux? – eka808

+0

Oui, mais au lieu d'utiliser Xml pour lier le récepteur d'événements à un type de liste, vous avez besoin d'un Feature Receiver pour l'ajouter à la liste spécifique voir http://www.davehunter.co.uk/Blog/Lists/Posts/ Post.aspx? List = f0e16a1a% 2D6fa9% 2D4130% 2Dbcab% 2Dbaeb97ccc4ff & ID = 69 –

1

Si vous souhaitez que la valeur soit mise à jour chaque fois que la liste est affichée, vous devez créer votre propre custom field. De cette façon, vous pouvez calculer les intervalles au moment du rendu et afficher la valeur que vous voulez. Comme le champ ne peut pas être modifié, il vous suffit de fournir vos propres variantes des méthodes GetFieldValue. Vous n'aurez pas besoin de créer un contrôle de rendu spécial ou de fournir une feuille de style XSLT.

Vous devrez fournir des propriétés pour les noms des autres champs, ainsi votre champ peut être configuré lorsqu'il est ajouté à une liste.

Questions connexes