カテゴリ「SharePoint Designer」の32件の投稿 Feed

2008年1月15日 (火)

SharePoint Designer Team Blog からの Tip です。このブログにはSharePoint Designer に関する Tips が数多く掲載されています。研修でもこのブログを参考にした内容を扱っているのですが、今回は研修でも取り上げなかった Tip です。おそらく日本語での解説はなかったように思いますので、参考までにご紹介します。

SharePoint Designer 2007 (SPD) を使用したカスタマイズでは「データビュー」をよく用います。データビューを挿入することで、ノンコーディングで手軽に任意のデータベースや SharePoint リストの情報を表示できるようになります。今回紹介する Tips もデータビューを使用した例です。

2つのカスタム リストの情報を使用します。一方のリストのデータをデータビューで表示させます。このとき同時に ASP.NET のドロップダウンリスト コントロールを配置します。このコントロールにもう一方のリストデータをひもづけて選択肢として表示されるようにしデータビューをフィルタできるように設定します。

[図: ドロップダウンリストによるフィルタ]

Dataviewfilter2

リストの作成

  1. 2つのリストを作成する。一つは"製品カテゴリ"、もうひとつは"製品リスト"という名前にする。製品カテゴリには、製品カテゴリ列を用意しておく。また製品リストには"製品名"列と"製品カテゴリ"列の2つを用意する。
  2. 2つのリストにテスト用に何件かデータを追加しておく。

カスタムページ (コンテンツ ページ)の作成

  1. SharePoint Designer 2007 を起動する。
  2. [ファイル]メニューから[サイトを開く]をクリックする。
  3. "サイト名" ボックスにカスタム ページを作成したいサイトの URL を入力し、[開く]をクリックする。
  4. [ファイル]メニューから[新規作成]-[マスタページから作成]をクリックする。
  5. マスタページの選択ウィンドウで[OK]をクリックする。
  6. [ファイル]メニューから[名前を付けて保存]をクリックし、任意の名前でドキュメントライブラリなどの任意の場所に保存しておく。

コントロールとデータビューの追加

  1. [表示]メニュー-[ページ]-[デザイン]をクリックし、デザインビューにしておく。
  2. PlaceHolderMain タブを選択したら領域の右側に表示される矢印(>) をクリックし、"カスタム コンテンツの作成" をクリックする。

    Dataviewfilter3

  3. [作業ウィンドウ]メニューから[データソースライブラリ]をクリックする。
  4. PlaceHolderMain の部分を選択したまま、[データソース ライブラリ]の"製品カテゴリ" をクリックし、[データソース コントロールの挿入] をクリックする。(SPDataSourceコントロールが追加される)
  5. [作業ウィンドウ]メニューから[ツールボックス]をクリックする。
  6. ツールボックス内からASP.NET コントロールの標準コントロールとして "DropDownList" コントロールを選択し、4.で追加した SPDataSourceコントロールの下にドラッグアンドドロップする。
  7. DropDownListコントロールの右側に表示される矢印(>)をクリックし、"データソースの選択" をクリックする。
  8. データソースの選択で "spdatasource1"を選択し、DropDownList で表示するデータフィールドと値のデータフィールドに"製品カテゴリ名"として使用している列名を指定し[OK]をクリックする。
  9. AutoPostBack を有効にする。

    Dataviewfilter4

  10. 再び、[作業ウィンドウ]メニューから[データソースライブラリ]をクリックする。
  11. "製品リスト"をDropDownListの下にドラッグアンドドロップする。これによりデータビューが追加される。
  12. データビューの右端に表示される矢印(>)をクリックし、[列の編集]をクリックし表示したい列のみを表示するように調整し [OK] をクリックする。
  13. "フィルタ" をクリックする。
  14. フィルタ条件ウィンドウで、フィールド名に"製品カテゴリ" 、条件式として "次の値に等しい" 、値として "新しいパラメータを作成" をクリックする。
  15. データビューのパラメータ ウィンドウで Param1 のパラメータソースを "コントロール" に変更し、コントロールIDに"DropDownList1"と入力する。また、既定値に製品カテゴリとして入力してある項目のいずれかを入力しておく(例: 飲料)。[OK] をクリックする。
  16. 最後にページファイルを上書き保存する。

完成したらF12 キーを押下してプレビューし動作を確認します。


参考: SharePoint Designer Team Blog (英語)

2007年12月10日 (月)

(※ 2008.2.12 以前紹介していた手順ではユーザー定義のリストフォーム挿入に関するバグを顕在化させてしまっておりました為、訂正しました。)

MOSSでは "タイトル" 列はシステム列です。通常、新規にアイテムを追加したり、プロパティを編集する際に、タイトル列が必ず表示されブラウザ上の設定ではどうしても非表示にできません。とはいえ、タイトル列は利用しないので、画面上で非表示にしたいというニーズもよく耳にします。

実はタイトル列は SharePoint Designer 2007 を使ってやれば非表示にできます! 今回は 新規フォーム (NewForm.aspx) を例に方法をご紹介します。なお、手順を試す場合は、検証用にあらかじめ任意のカスタムリストを作成しておいてください。

  1. SharePoint Designer 2007 を起動します。
  2. [ファイル]メニューを開き、[サイトを開く] をクリックし、アクセスしたいサイトのURLを指定しサイトを開きます。
  3. あらかじめ検証用に用意したリストを展開し、NewForm.aspx を右クリックし「既存のページから新規作成」をクリックします。
  4. NewForm2.aspx という名前でNewForm.aspx と同じ場所に保存します。
  5. デザインビューでページ内の<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server"> の開始タグから終了タグまでの部分を選択し、右側に表示される矢印(>) をクリックし、「コモンContent タスク」から「マスタの既定コンテンツ」をクリックします。
  6. 「マスタ ページ コンテンツを既定として設定すると、この領域のすべての内容がページから削除されます。続行してもよろしいですか?」というダイアログが表示されたら[はい]をクリックします。
  7. 再び、<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server"> の部分にカーソルを挿入した状態で右側に表示される矢印(>)をクリックし「コモン Content タスク」から「カスタム コンテンツの作成」をクリックします。
  8. [挿入] メニューをクリックし、[SharePoint コントロール] - [ユーザー定義のリストフォーム] をクリックします。
  9. 「フォームに使用するリスト/ドキュメントライブラリ」ドロップダウンメニューから目的のものを選択し、作成するフォームの種類で「アイテム作成」を選択します。
  10. [OK] をクリックします。これで ユーザー定義リストフォームが挿入されます。
  11. タイトル列を削除します。
  12. 上書き保存します。
  13. [フォルダ一覧]からリストを右クリックし[プロパティ]をクリックします。
  14. リストのプロパティの[関連ファイル]タブから"新しいアイテムのフォーム" をNewForm2.aspx に変更します。

この方法では、非表示にしたい任意の列を削除したり、並び替えも可能です。


参考: http://blah.winsmarts.com/2007-5-Customize_the_-and-quot;NewFormaspx-and-quot;_page_for_a_SharePoint_List.aspx

続きを読む »