2009-09-18 55 views
2

我正在嘗試爲SP中的列表創建一個CAML查詢。SharePoint如何將CAML存儲爲視圖的篩選器?

我想用修改視圖頁面創建一個基本的觀點,包括過濾器,然後使用一些代碼來檢查SPView的查詢支柱:

string t = dataList.Views["MyView"].Query; 

但CAML在T不含任何地方元素。就在排序依據

<OrderBy> 
    <FieldRef Name="ID" /> 
</OrderBy> 

怎樣的SharePoint商店CAML的視圖過濾器?

+0

查詢屬性應該肯定做到這一點!它是什麼類型的清單? – 2009-09-18 12:46:35

+0

開始認爲它是一個對象模型錯誤...使用Web服務的CAMLViewer返回正確的值。 – Adrian 2009-09-18 14:11:55

回答

2

奇怪。

因爲如果您檢查內置列表模式(例如您可以在C:\ Program Files \ Common Files \ Microsoft Shared \ Web Server Extensions \ 12 \ TEMPLATE \ FEATURES \ TasksList \ Tasks \ schema中找到任務列表模式。 XML)有Where子句中查詢元素:

<View> 
*....* 
    <Query> 
     <OrderBy> 
     <FieldRef Name="Modified" Ascending="FALSE"> 
     </FieldRef> 
     </OrderBy> 
     <Where> 
     <Or> 
      <Neq> 
      <FieldRef Name="Status"> 
      </FieldRef> 
      <Value Type="Text">$Resources:core,Tasks_Completed</Value> 
      </Neq> 
      <IsNull> 
      <FieldRef Name="Status"> 
      </FieldRef> 
      </IsNull> 
     </Or> 
     </Where> 
    </Query> 
    </View> 

哦,你可以嘗試SPCamlViewer檢查你的意見。