SharePoint 2010 リストフォームカスタマイズ 複数アイテム同時編集

おはようございます。奥田です。今日は InfoPath をつかったリスト フォーム カスタマイズについてです。

SharePoint リストで、複数アイテムを同時に編集したいと思ったことはないでしょうか。
Excel でデータを編集するみたいに複数行の特定の列をまとめて編集したいシーンは多いと思います。
SharePoint リストでは、既存データを編集する際には、各データごとに編集画面を開く必要があり、複数件データに対するまとめての編集はちょっと面倒ですよね。

まとめてデータ編集したい際の簡単な方法はデータシートビューがあります。
[リスト] タブの [データシートビュー] をクリックすると、次図のような画面に切り替わり、複数データに対する一括編集が行えます。
multi1

今日は、InfoPath でこのように複数アイテムを一括編集する画面へカスタマイズする方法をご紹介します。
完成イメージはこちらです。
multi0

まず、次のような列をもつ SharePoint リストがあることを前提とし、手順をご紹介します。
multi2

1.[フォームのユーザー設定] をクリックし、InfoPath を開く
2. 開いたフォームを 新規登録フォームで利用するように編集します。(次図参考)
multi3

3.新しくビューを作成。(ビュー名を MultiEdit と付けたとします)
4.フォームをカスタマイズしているリストからの受信データ接続を作成
[フィールドの選択] で受信する列として、フォーム内で表示・編集したい列を選びます。
フォームを開く際に自動的にデータを取得するよう設定します。
multi4

5.[フィールド] 作業ウィンドウで、[詳細ビューの表示] を開きます。
   受信接続名(セカンダリ) データソースの [d:SharePointListItem_RW] グループを繰り返しテーブルとして配置
繰り返しテーブルの右端に列を追加し、ボタンコントロール [更新] を配置
また、繰り返しテーブルの罫線やフォントの設定を任意に行います。
multi5

6.繰り返しテーブルに配置した [更新] ボタンに次の動作規則を設定 


複数アイテム表示しているデータから更新するアイテムを指定するための動作規則です。
詳細 更新データの指定
条件 なし
動作 1個め フィールドの値を設定する [フィールド]
メインデータソース queryFields の [ID]
[値]
セカンダリデータソース dataFields の [ID]
動作 2個め データのクエリを送信する メイン データ接続
multi6
1件分のデータを更新するために値をセットするための動作規則です。
詳細 1件データの更新
条件 なし
動作 1個め フィールド の値を
設定する
[フィールド]
メインデータソース dataFields の [コースID]
[値]
セカンダリデータソース dataFields の [コースID]
動作 2個め ~ フィールドの値を設定する 動作1と同様に、上書きしたい列の数だけ
メインデータソース dataFields 内フィールドに セカンダリ データソース dataFields 内フィールドの値をセット
動作 最後 データを送信する メイン データ接続
multi7
データ更新後、繰り返しテーブル内の内容を更新するための動作規則です。
詳細 一覧の更新
条件 なし
動作 1個め データのクエリを送信する リストからの受信接続
multi8

7. [ファイル] メニューから [フォームのオプション] を開き、[リボンまたはツールバーに InfoPath コマンドを表示する] を
チェック外します。
8.フォームをクイック発行します。
9.[リスト] タブの [フォーム Web パーツ] – [(アイテム) 編集フォーム] をクリックします。
multi9

10. InfoPath フォームの Web パーツの設定画面で、[ビュー] をMultiEdit に変更します。
アイテムの編集時のみ、複数データ編集用のビューを開くように設定しました。
multi10

以上、完成♪
つかいどころはデータ内容によりけりですが、マスターデータ管理など、データの新規作成・削除よりも、いったん登録したデータのメンテナンス作業が多い場合に。

奥田 うさぎ

SharePoint 2010 リストフォームカスタマイズ 複数アイテム同時編集」への3件のフィードバック

  1. Infopathでカスタマイズしたリストフォームを
    他のリストのフォームとして流用したりできますか?
    (ここに質問してよかったでしょうか・・・?)

    返信
  2. リストをテンプレート化すると、そのテンプレートから作成した新しいリストには InfoPath でカスタマイズしたフォームも再現されますよ。

    返信
  3. 奥田様 お忙しいところ、ご返答有難うございます。
     カスタマイズしたリストフォームのみを転用というのはできないのですね。

    テンプレートについて一点ご教授頂きたいのですが、
     Sharepointリスト/ライブラリテンプレートは新規作成時のみ使用するという認識でいいですか?
     元のテンプレートがカスタマイズされてると
      そのテンプレートを元に作成されたリスト等に反映される仕様とか、
     元のテンプレートをカスタマイズして、
      そのテンプレートを元に作成されたリスト等に反映させる機能とか、あるのでしょうか?
    (根本レベルの知識が足らず、申し訳ありません・・・。)

    返信

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中