2011-12-20 146 views
1

我已經將以下字段添加到基於自定義內容類型的自定義列表定義中。Me過濾器問題

<Field Type="User" DisplayName="Line Manager" List="UserInfo" Required="FALSE" EnforceUniqueValues="FALSE" ShowField="ImnName" UserSelectionMode="PeopleOnly" UserSelectionScope="0" ID="{098E0A5A-8187-481E-B155-B674A406EEAF}" SourceID="{53ca79b7-9ffa-457d-aff8-c71508b09cb1}" StaticName="Line_x0020_Manager" Name="Line_x0020_Manager" RowOrdinal="32" Filterable="TRUE" FromBaseType="TRUE"/> 

我在視圖中將[Me]過濾器放在此列上。該過濾器無法過濾登錄用戶的記錄。

我錯過了什麼嗎?

編輯

有趣的是,如果我通過SharePoint用戶界面添加類似於列的篩選工作正常。任何線索,想法都歡迎。

回答

2

呼改變字段類型!這得到了解決,是最令人沮喪的事情之一。我不確定這是否與我在下面定義架構的方式有關,或者它是否是SharePoint的錯誤。

我跑了探查,看看有什麼抽油煙機下怎麼回事,發現其中的RowOrdinal正在與預定義的值爲0或1。廣泛用於查詢(相當巨大的,我消化)正如我所用作爲RowOrdinal的「32」,它對我來說看起來很陰暗。我將它改爲「0」和賓果!過濾器開始工作。

這裏是什麼MSDN說 - 「可選整數。指定字段的數據庫位置。」

不會出現它應該參與記錄過濾。

因此,要關閉現場應該被定義爲

<Field Type="User" DisplayName="Line Manager" List="UserInfo" Required="FALSE" EnforceUniqueValues="FALSE" ShowField="ImnName" UserSelectionMode="PeopleOnly" UserSelectionScope="0" ID="{098E0A5A-8187-481E-B155-B674A406EEAF}" SourceID="{53ca79b7-9ffa-457d-aff8-c71508b09cb1}" StaticName="Line_x0020_Manager" Name="Line_x0020_Manager" RowOrdinal="0" Filterable="TRUE" FromBaseType="TRUE"/> 
2

[Me]過濾器是否適用於本地列表定義? 或者,您確定您的SharePoint安裝使用英文版嗎?

也許你應該從「用戶」,以「人或團體」

+0

是的,所以我完全糊塗了。這是英文版,所以過濾器必須是[我]。我猜在人和組的模式中,字段類型只是用戶。 – 2011-12-21 12:17:49