2011-12-20 18 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のUIを通じて同様の列を追加する場合

EDIT

興味深いことにフィルタが正常に動作します。任意の手がかり、アイデアを歓迎します。

答えて

2

ふうに「ユーザー」からフィールドタイプを変更する必要があります!これは解決され、最も不快なものの1つでした。私はこれが以下のスキーマを定義した方法の問題かSharePointのバグかどうかはわかりません。

私はプロファイラーを実行してフードの下で何が起こっているのかを見て、RowOrdinalがあらかじめ定義された値を0または1として使用していたクエリ(かなり巨大な)を見つけました。 RowOrdinalとしての "32"、それは私に日陰に見えた。私はそれを "0"とビンゴに変更しました!フィルターが機能し始めました。

ここでは、MSDNはそれについてです - "Optional Integer。フィールドのデータベースの場所を指定します。"

レコードフィルタリングに参加するようには見えません。だから、

、フィールドを閉じるには、はい、それはあるので、私はすべて混乱しています

<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

として定義する必要があります。それは英語バージョンですので、フィルターは[私]でなければなりません。私は人とグループのスキーマでは、フィールドの種類はユーザーだけだと思います。 –

関連する問題