SharePoint の Web サービス と利用時の注意事項
特定の期間でフィルタを設定する : データビューとクエリ文字列

ツリービューの表示をカスタマイズする

サイドリンクバーにはツリービューを表示することが可能ですが、既定ではアクセス許可があたえられている限りすべてのサブサイトやリスト、ライブラリが表示されます。

[図.既定のツリービュー表示]
Defaulttreeview

大変便利な機能ですが、全てを表示させたくないことも多いのではないでしょうか。しかし、Web ブラウザ上からはツリービューの表示は変更できません。そこで、ちょっとしたカスタマイズ方法をご紹介します。

ツリービューの表示は、SharePoint Designer 2007 を使用してマスタページを編集することで、サブサイトは非表示にするなどのカスタマイズが可能です。

ツリービューは、ASP.NET 2.0 にあるツリービューコントロールを継承したSharePoint 用のコントロールであり、表示内容はデータソース コントロールから取得しています。そのため、このデータソース コントロールのプロパティを編集すればカスタマイズができるという訳です(このデータソースも ASP.NET 2.0 のものを継承した SharePoint 用のコントロールになっています)。

[図.カスタマイズ後のツリービュー]

Customtreeview

マスタページの編集

  1. default.master をコピーし、任意の名前で同じくマスタページギャラリー内に保存します。たとえば、 "myDefault.master" という名前で保存します。
  2. コードビューに切り替え、"SharePoint:SPHierarchyDataSourceControl" タグを見つけます。
  3. 「IncludeDiscussionFolders="true"」の後に、次の図のようにプロパティを追加します。今回はドキュメントライブラリと関連するフォルダの表示のみに限定するようにカスタマイズしています。
    Treeviewdatasourcemodified
  4. マイナーバージョンもしくはメジャーバージョンとして上書き保存します。

以上の設定が終わったら、マスタページを新しいものに変更すれば OK です。

構成可能な主なプロパティ

構成可能な主なプロパティは次の通りです。既定ではすべて "true" となっているようです。

  • IncludeDiscussionFolders … ディスカッション掲示板内の投稿をフォルダとして表示する
  • ShowDocLibChildren … ドキュメント ライブラリを表示する
  • ShowFolderChildren … フォルダを表示する
  • ShowListChildren … リストを表示する
  • ShowWebChildren … サブサイトを表示する

いくつか実験してみたところ、ディスカッション掲示板の扱いには注意がいりそうです。ディスカッション掲示板を表示する場合は、ShowListChildren を true にする必要があります。ディスカッション掲示板内の投稿を表示するには、ShowFolderChildren と IncludeDiscussionFolders の両方が true になっている必要があります。


【参考】
Sharepoint Tips And Tricks (英語)

コメント

コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
コメントを投稿できませんでした。エラー:
コメントを投稿しました。コメントは記事の投稿者が承認してから表示されます。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

コメントは記事の投稿者が承認してから表示されます。

アカウント情報

(名前とメールアドレスは必須です。メールアドレスは公開されません。)