2009-03-19 14 views
1

Je suis en train de créer une vue personnalisée pour une liste de sharepoint, semblable à celle expliquée ici:Fonction plafond dans SharePoint CAML requête

http://msdn.microsoft.com/en-us/library/ms916812.aspx

J'ai une colonne qui est un champ numérique avec des valeurs comprises De 0 à 100.

Je dois créer un style d'affichage qui affichera une image dans la colonne basée sur la valeur de la colonne, au lieu d'afficher la valeur.

Si la valeur est comprise entre 0 et 25, je dois afficher une image 25.gif Si la valeur se situe entre 25 à 50, je dois afficher une image 50.gif ..... etc.

Le calcul est impliqué ici la fonction PLAFOND, ceiling (NumberColumn, 25)

Le problème est, je dois le préciser dans CAML, dans le VWSTYLES.XML

Comment puis-je spécifier le Ceilnig fonction dans CAML?

Répondre

1

D'autres options pourraient être:

Comme le VWSTYLES.XML est juste une façon vraiment bizarre de rendre html, vous pouvez coder javascript dans votre VWSTYLES.XML pour rendre l'étiquette d'image avec la bonne source.

Alternativement, développez un contrôle ascx et obtenez le VWSTYLES.XML pour rendre un contrôle au lieu de HTML. Tant que vous pouvez enregistrer le contrôle sur la page correctement.

+0

salut ... Pouvez-vous s'il vous plaît élaborer sur la façon de le faire en utilisant javascript? Plus précisément, comment puis-je décider Je suppose qu'il y aurait une fonction javascript qui retourne la source de l'image en fonction de la valeur de la colonne Mais comment puis-je passer la valeur de la colonne à la fonction? – ashwnacharya

+0

Le javascript dépendrait beaucoup de ce que votre html est, il Je ne serais même pas capable de vous lancer sur la bonne voie Regardez le fichier VWSTYLES.XML et voyez comment Javascript est rendu Si cela ne vous fait pas peur de le faire d'une autre façon, vous pourriez bien aller. – Nat

1

CEILING est utilisé pour arrondir les valeurs décimales. Puisque vous avez seulement quelques images, je voudrais simplement utiliser IF imbriquées fonctions:

=IF([NumberColumn]>76, "100.gif", IF([NumberColumn]>51, "75.gif", 
IF([NumberColumn]>26, "50.gif", "25.gif"))) 

Vous pouvez également utiliser la fonction MOD pour convertir 0-24 à 0, 25-49 à 1, etc. et calculer votre image De là.

+0

Hey merci pour la réponse. Le lien auquel vous faites référence est lié à des formules pour les colonnes calculées. Je dois modifier le fichier VWSTYLES.xml. Est-ce que cela fonctionne au CAML? – ashwnacharya

+0

Pourriez-vous créer un champ calculé dans votre liste, puis faire référence à celui de CAML? – dahlbyk

+0

Non, je ne suis pas censé utiliser un champ calculé. Je dois faire cela à partir du VWSTYLES.XML lui-même – ashwnacharya

Questions connexes