フィルターが適用されたときにフォルダー内のドキュメントが表示されないのはなぜですか?
-
16-10-2019 - |
質問
プロジェクト(String)というカスタム列をドキュメントリストに追加しました。次に、異なるページに異なるビューを設定して、その列でフィルタリングします。
問題は、フィルターを適用する場合、プロジェクト列の値がフィルターの1つのセットに対応していても、フォルダー内に保存されたドキュメントが表示されないことです。
この問題を解決する方法を知っていますか?
解決
最後のコメントに基づいています
特定のページにドキュメントリストを表示するWebパートを作成し、列コンテンツにフィルターを適用して、特定のドキュメントのみを表示しました。しかし、そのようにして、フォルダー構造が失われ、すべてのドキュメントがフラットに表示されます。
私は今あなたの質問に答えることができると思います。
新しいビューを作成し、フィルターセクションで選択する場合
コンテンツタイプはフォルダーに等しくなります
また
次に、ドキュメントに適用する追加の条件を追加します。
このようにして、フォルダーは常に表示されますが、その内容は追加の制約に基づいてフィルタリングされます。
これにより、フォルダーが追加の制約に合った子供が含まれているかどうかにかかわらず、フォルダーが表示されますが、階層をナビゲートできるようになります。
他のヒント
コードでビューを作成した場合、scope = "Recursive" ViewAttributeを指定する必要があります
ここにいくつかの例が示されています
SharePoint UIでビューを作成した場合、
- ビューを変更します。
- 編集ビューページで「フォルダ」セクションを展開します
- 「フォルダーなしですべてのアイテムを表示する」を選択します
これにより、再帰クエリが実行されます。
指定 ViewAttributes Scope='Recursive'
機能していないようで、むしろSPViewのスコーププロパティを再帰的に設定する必要があります。
SPView view = list.Views.Add(“TestView”, fields, string.Empty, 100, true, false);
view.Scope = SPViewScope.Recursive;
ここに完全な例があります:
http://sharepointnadeem.blogspot.in/2012/02/create-view-to-show-all-items-without.html
この応答は非常に遅れていることに気付きますが、次の人に役立つ可能性があります。この質問は次のように理解しています。フィルターがフォルダーの属性に適用され、フォルダーがビューで適切にフィルターをかけている間、特定のフォルダーにアクセスしたときにフォルダーの内容は表示されません。
これはとても簡単です。ビューを変更し、フォルダーのグループ化を展開し、このビューを表示します。「上位レベルフォルダーで」を選択します。これにより、フィルターが最上位フォルダーのみに適用されます。コンテンツにアクセスするフォルダーを選択すると、フィルターは適用されず、それにより内部のコンテンツが表示されます。
パーティーにも遅れていますが、最も簡単な答えは、「フォルダー」という名前のビュー設定を「フォルダーなしですべてのアイテムを表示する」に調整することだと思います。デフォルトでは、フォルダー内のアイテムは フォルダ この場合、技術的にはそうではないフィルター条件を満たしていません。これは、直感的でないMicrosoftwareの標準的な例です。