用SPQuery查詢SPList的時候需要注意的幾點

1、最近幾天在用SPQuery來查詢SPList的內容的時候,發現如果SPList裏面有子文件夾,默認情況下,如果用以下代碼進行查詢,則只能返回MySPListObject裏面的根文件夾裏面的Items;

SPQuery query = new SPQuery();

query.Query = “Men”;

SPListItemCollection items = MySPListObject.GetItems(query);

2、由於我的這個Gender欄是我在MySPListObject裏面創建的一個自定義欄,欄的類型是下拉框選項類型,一開始的時候我把CHOICE/">寫成了Text/">,也就是說,CAML裏面指定的欄類型跟SPList裏面定義的欄類型不一致,結果SPQuery沒有報錯,而是返回MySPListObject這個列表裏面包括子文件夾裏面的所有Items,這有點讓人想不明白;

3、爲了讓SPQuery查詢子文件夾裏面的Items,則必須加上一句代碼:query.ViewAttributes = "Scope=/"Recursive/""; 完整的代碼如下:

SPQuery query = new SPQuery();

query.ViewAttributes = "Scope=/"Recursive/"";

query.Query = “Men”;

SPListItemCollection items = MySPListObject.GetItems(query);

foreach (SPListItem item in items)
{

……
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章