はじめまして。
GroupBoard Workspaceの「スケジュール&設備予約」のカレンダービューのようなものを作成したいと思っています。
SharePoint Solution Generatorで既存のリストからプロジェクトを作成し、
そこにできた schema.xml のカレンダービューの定義の中に CalendarViewStyles というタグがあり、
その中でTemplateを指定しているところがありましたので、
ControlTemplatesの中に自分で追加した ascx に記述してある RenderingTemplate の ID を指定しました。
(下の例では「日表示」のところに MyCalendarViewdayChrome を指定しています)
<CalendarViewStyles><CalendarViewStyle Title='日表示' Type='day' Template='MyCalendarViewdayChrome' Sequence='1' Default='TRUE' /><CalendarViewStyle Title='週表示' Type='week' Template='CalendarViewweekChrome' Sequence='2' Default='FALSE' /><CalendarViewStyle Title='月表示' Type='month' Template='CalendarViewmonthChrome' Sequence='3' Default='FALSE' /></CalendarViewStyles>
このように指定して実行すると、SPCalendarViewStyleCollection.get_Item(String strTemplate)で
例外が発生し、「値が有効な範囲にありません」と出てしまいます。
何かもう少し設定が必要なのでしょうか?
独自のカレンダービューが表示できればそれでよいので、
別のよい方法がもしあれば、教えていただければと思います。
よろしくお願いいたします。
──
追記です。
GroupBoard Workspaceを見ると、デフォルトコントロールテンプレートの
オーバーライドという方法で実装しているようです。
その場合わからないのが、特定のサイトのみにそのオーバーライドを反映させる方法です。
GroupBoardがインストールされていると、自分が追加したカレンダービューのオーバーライドは
反映されなくなります。こういうふうに他のサイトまで影響を及ぼすようなことはしたくないので、
できれば独自のRenderingTemplateを指定できればベストと考えました。