2009-03-16 25 views
4

私は、追加されたアイテムのリストのイベント受信者を認識しています。しかし、リストの作成時にコードを起動する方法が見つかりませんでした。SharePointリストの作成時にコードを実行する方法は?

私がしようとしているのは、リストが作成されたとき(ユーザーがUIを通じて)ワークフローをリストに関連付けることです。

誰でもいいですね。

ありがとうございました。

答えて

6

がありますが、ワークフローの関連付けを定義しているあなたは、あなた自身のリスト定義を書くことができ、あなたが取ることができるルートのカップル...

- すべてのリストはあなたのリストの定義に基づいて作成した方法で、あなたのワークフローが含まれていますデフォルトでは

...あなたのワークフローに応じて...あなたのワークフローを添付するタイプのすべてのリストにEventReceiverを添付して(簡単に機能を実現できます)、イベント受信者にワークフローを関連付けさせます最初の項目が追加されたとき。

か、リストで使用ContentTypeをにワークフローを関連付けることができます(あなた自身はあなたがあなた自身のリスト定義または既定のSharePointたContentTypeに添付のcontentType)

私はそう、あなたのソリューションの残りの部分を知りません私にとってあなたにとって最適なソリューションを提案することは控え目です。

私が(ほとんど)常にやることは、私自身のリスト定義を書いていることです。そういったやり方で、今や将来のような問題を避けることができます。

+0

ブライアンに感謝します。ワークフローをリストテンプレートに関連付ける可能性があります。私は、ワークフローを任意のライブラリにアタッチして、初期化時に必要な要素(列、ビューなど)を作成するほうがよいかもしれないと考えています。 – Donaldinio

1

私は通常、デフォルトのビューに設定された余分なビューページを展開します。ユーザーがリストを作成すると、彼はコードビハインドの設定を含むビューページに送られます。ビューページでは、作成されたメソッドiveが呼び出され、デフォルトビューが変更され、設定ビューが削除され、セットアップビューを指すナビゲーションノードが変更されます。

+0

これはかなり面白いアプローチです!ありがとう! – Donaldinio

1

イベント受信者が追加されたリストがないため、おそらくこの質問に対する完全な回答はありません(メモリが正しいと答えた場合)。

このような場合はわかりませんが、実際にitemadded(または更新済み、削除済みなど)のイベントを新しいリストに登録する必要があるのであれば、それらのイベントを(SPWeb)レベルで作成され、新しいリストが作成されたときに起動します。

+1

ListAddedイベントレシーバがあります: 'public override void ListAdded(SPListEventProperties properties)' –

3

SharePoint 2010では、SPListEventReceiverクラスのListAddedイベントをオーバーライドすることで、リスト作成イベントにフックできるようになりました。

関連する問題