-1

我在我的列表中有一個計算字段,我正嘗試在此字段上使用過濾器。出於某種原因,下面的查詢總是返回的所有項目,而不是一個過濾項集合:SPQuery計算字段過濾器在SharePoint 2007/2010中不起作用

var spQuery = new SPQuery 
    { 
     Query = @"<Where><Geq><FieldRef Name='Score' /><Value Type='Calculated'>10000</Value></Geq></Where><OrderBy><FieldRef Name='Modified' Ascending='True' /></OrderBy>", 
     RowLimit = 200, 
     ViewFields = @"<FieldRef Name='Username' />" 
    }; 

var spList = web.Lists["Users"]; 

var spListItemCollection = spList.GetItems(spQuery); 
+0

我修改的標題標記的基礎上,並假定您在這兩個版本的SharePoint上都有此問題。如果你的困難只涉及其中的一個,你會重新標記和編輯標題嗎?謝謝! – halfer 2017-10-26 19:59:35

回答

0

從SPQuery取出query元素。見語法here

+0

仍然沒有運氣。請檢查更新的細節。 – Moon 2011-05-15 23:10:21

+1

我以前見過這個。從我迄今爲止測試的內容來看,計算字段不能用於過濾。我早先在CQWP中嘗試過,無法找到任何方法來比較計算字段,不管它們被定義爲什麼數據類型 – 2011-05-16 07:27:08

0

嘗試刪除ViewFields部分(讓所有列,還那些需要的計算),或設置SPQUery.IncludeMandatoryColumns

+0

對不起,它沒有工作。 – Moon 2011-05-17 14:34:53

1

嘗試使用

spQuery.ViewFieldsOnly = true;