SharePoint リストの ID 列を利用して独自フォーマットの項番をふる方法

こんにちは。SharePoint サポートの多田です。

今回は、サポートチームでもよくお問い合わせいただく、SharePoint リストにて独自のフォーマットで項番をふる方法をご案内いたします。

SharePoint リストにて独自の採番を行う方法はいくつか方法が考えられますが、今回は最も簡易な方法と考えられる、リストの ID 列を利用した独自フォーマットの採番方法 (SharePoint Designer にて xslt のカスタマイズを行う方法)をご案内いたします。

今回は以下のように各リストアイテムに対して、独自のフォーマット「指針項番-000xx」をふる方法を手順にてご案内致します。

- 手順

1. 該当のリストを SharePoint Designer で開き、"すべてのアイテム" (AllItems.aspx) をクリックします。

2. AllItems.aspx を開いたあと、"デザインビュー" を表示させ、下記のように ID 列の値の左側にカーソルを合わせます。

 ※ ID 列は予め、ビューの設定にて表示させるようにしておく必要があります。

3. "指針項番-" と入力し、以下の図のようにすべての行に入力した文字が反映されていることを確認します。

4. "コードビュー" を開きます。上記で入力した部分が表示されていることを確認し、以下のように変更します。

- 変更前

<xsl:param name="thisNode" select="."/>指針項番-<xsl:value-of select="$thisNode/@*[name()=current()/@Name]"/>

- 変更後

<xsl:param name="thisNode" select="."/>指針項番-<xsl:value-of select="format-number($thisNode/@*[name()=current()/@Name], '00000')"/>

補足:

上記では xsl の format-number 関数を使用して、ID の値を 00001, 00002, 00003, というフォーマットになるよう変換を加えております。

タイトル : format-number 関数

アドレス : https://msdn.microsoft.com/ja-jp/library/ms256225(VS.90).aspx

5. 以下の図のようになることを確認し、AllItems.aspx を保存します。

6. リストページを開き、項番が正しくふられていることを確認します。

- 注意事項

本方法は、列の値を変更するものではなく表示部分を変更しているだけになります。そのため、「指針項番」等のキーワードでリストアイテムを検索でヒットさせることはできません。

項番名を検索でヒットさせるためには、項番名を格納する列を作成し、イベントレシーバーの ItemAdded メソッド等で、アイテムが作成時に項番名を列に設定する等の方法が考えられます。

タイトル : SPItemEventReceiver.ItemAdded Method

アドレス : https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spitemeventreceiver.itemadded.aspx