2009-06-17 157 views
1

如何創建訪問列表的SharePoint Sharepoint,並且可以將CAML應用於它。與caml和xslt的sharepoint webpart

需要的CAML顯示返回有場「位置」僅列表項> 0

我還需要在web部件有適用於XSLT。

+0

添加要求「位置」> 0以回答。 – 2009-06-22 14:05:10

回答

3

您需要將內容查詢Web部件添加到您的頁面(注意:要求MOSS不是免費的WSS)。這使您可以查詢數據並對其應用XSL轉換。

Web部件允許您查詢特定的網站集,網站或列表。然後,您可以設置參數以返回某種類型的數據並應用過濾器,排序和分組。您還可以選擇希望將數據顯示給最終用戶的選項列表。每個選項都由XSL變換提供支持。

This blog post by Heather Solomon是幫助您開始如何創建自己的轉換和配置CQWP的最佳資源之一。它還解釋瞭如何確保您需要的所有字段都傳遞給XSLT(默認情況下,這隻發生在一個小子集中)。

更新:

只返回列表項,其中場「位置」> 0,這是最簡單的XSLT內做到這一點。您必須將位置字段添加到CommonViewFields,以便它傳遞給XSLT。然後在您的自定義項的風格(在ItemStyle.xsl如果你遵循希瑟的帖子),添加以下內容:

<xsl:if test="@Position &gt; 0"> 
    <!-- Display desired row output --> 
</xsl:if> 

這隱含忽略時,「位置」 < = 0

1

我與亞歷克斯同意,內容查詢Web部件(CQWP)是可行的方法。

但是,如果你想進入代碼,你可以做如下的事情。儘管可能有一種簡單的方法將它引入XML的一些非自定義(儘管很醜陋)的形式,但最基本的部分是將其引入到XML中。

SPList list = web.Lists["My List Name"]; 
SPView view = list.Views["My View Name"]; // This view would define Postion > 0 
SPQuery query = new SPQuery(view); 
SPListItemCollection items = list.GetItems(query); 

// Iterate through results and generate XML 

如果你不希望使用現有的視圖,則需要建立手工SPQuery對象;至少將其ViewFields,Query和RowLimit設置爲最小。您可以使用a CAML Query Tool來幫助您解決這個問題。