2009-03-19 8 views
1

ich eine benutzerdefinierte Ansicht für eine Sharepoint-Liste zu erstellen versuchen, ähnlich der hier erklärt:Ceiling-Funktion in Sharepoint CAML-Abfrage

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

Ich habe eine Spalte, die mit Werten ein Zahlenfeld ist im Bereich von 0 bis 100.

Ich muss einen Ansichtsstil erstellen, der ein Bild in der Spalte basierend auf dem Spaltenwert anzeigt, anstatt den Wert anzuzeigen.

Wenn der Wert in zwischen 0 bis 25 ist, muss i 25.gif ein Bild angezeigt, wenn der Wert zwischen 25 bis 50 in, müssen i 50.gif ein Bild anzuzeigen ..... und so weiter.

Die Berechnung hier beteiligt ist die Decken, CEILNG (NumberColumn, 25)

Das Problem ist, ich brauche dies in CAML zu spezifizieren, in der VWSTYLES.XML

Wie kann ich die Ceilnig angeben Funktion in CAML?

Antwort

1

könnten einige andere Optionen sein:

Da die VWSTYLES.XML der Darstellung von HTML nur eine wirklich unangenehme Art und Weise ist, Sie einige Javascript in Ihrem VWSTYLES.XML Code könnte das Image-Tag mit der richtigen Quelle zu machen.

Alternativ können Sie ein ascx-Steuerelement entwickeln und die VWSTYLES.XML dazu bringen, ein Steuerelement anstelle von HTML zu rendern. So lange Sie das Steuerelement auf der Seite korrekt registrieren können.

+0

Hallo ... Können Sie bitte erläutern, wie man es mit Javascript? Genauer gesagt, wie entscheide ich die Korrekte Bildquelle? Ich nehme an, dass es eine Javascript-Funktion geben würde, die die Bildquelle basierend auf dem Spaltenwert zurückgibt. Aber wie übermittle ich den Spaltenwert an die Funktion? – ashwnacharya

+0

Das Javascript würde so sehr davon abhängen, wie Ihr HTML dort ist Es ist unmöglich, dass ich dich überhaupt auf die richtige Fährte bringe. Sieh dir die VWSTYLES.XML an und sieh dir an, wie Javascript gerendert wird. Wenn dir das nicht Angst macht, es auf andere Weise zu machen, ist es vielleicht okay. – Nat

1

CEILING wird zum Runden von Dezimalwerten verwendet. Da Sie nur ein paar Bilder haben, würde ich nur verschachtelte IF Funktionen nutzen:

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

Sie auch die MOD Funktion nutzen könnten 0-24 0, zu konvertieren 25-49 zu 1 usw. und Ihr Bild berechnen von dort.

+0

Hey danke für die Antwort. Der Link, auf den Sie verwiesen haben, verweist auf Formeln für berechnete Spalten. Ich muss die VWSTYLES.xml Datei ändern. Funktioniert das in CAML? – ashwnacharya

+0

Können Sie ein berechnetes Feld auf Ihrer Liste erstellen und dann auf CAML verweisen? – dahlbyk

+0

Nein, ich soll kein berechnetes Feld verwenden. Ich muss das von der VWSTYLES.XML selbst tun – ashwnacharya