2011-07-21 16 views
0

SharePointリストには、ユーザータイプフィールドである「従業員」列があります。このフィールドの処理にカスタムビジネスロジックを追加したいと思います。 現在、ユーザーが行を追加すると、ユーザーが従業員かマネージャかどうかを確認し、それに応じてこの列の動作を変更します。私は静的に私のカスタム "ListFormレンダリングテンプレート"で、私のカスタムListFieldIteratorの直前にフィールドをレンダリングすることによってこれを行います。私は単純に標準のSharePoint FormField(とFormLabel)コントロールを使用します。 FormFieldコントロールのマークアップでは、FieldName(Employee)とLoadイベントのイベントハンドラを指定します。このLoadイベントでは、現在のユーザーが(2つの異なるSharePointグループを使用して)従業員またはマネージャであるかどうかを確認します。ユーザーが従業員の場合、私はフィールドの値を現在のユーザーに設定します(この部分は完全に機能します)。フィールドを変更して変更できないようにしたい。私はフィールド上のControlMode(OnLoadイベントハンドラのコード内)をDisplayに変更できると思っていましたが、何らかの理由でこれは効果がありません。フィールドはまだ完全な人物選択エディタで表示されます。すぐにフィールド制御モードを変更しないのですか?それとも、これは単に正しいアプローチではありませんか?私が入れたいもう一つのロジックは、ユーザーがマネージャーの場合、そのユーザーが従業員のリスト(SharePointグループ)からそのユーザーを選択できるようにすることです。人選機を使い、選択可能なユーザをそのグループに制限する方が簡単かもしれません。 (私はSelectionGroupプロパティを使ってこれを行うことができると思います)。ユーザーのドロップダウンリストを提供するだけでいいですが、これは表示される非表示のドロップダウンリストや、選択された値をプルし、(今は隠されている)従業員(ユーザ)フィールドに値を入力します。このアプローチは理にかなっていますか?すべてがうまくいくとすれば、現実の難しさは、フィールド(ユーザーが従業員の場合)のControlMode(レンダリング)をラベルや何らかの読み取り専用コントロールに変更することです。これは表示時にフィールドがレンダリングされる方法ですなぜなら、私はそれが表示モードであると思うようにコントロールをちょうどトリックすることができれば、それは完全に動作するはずです。SharePoint 2010 - リストフィールドのレンダリングと動作のカスタマイズ

私はまだSharePointを勉強していますが、私はASP .Netに非常に堪能です。これが、このカスタムレンダリングテンプレートでカスタマイズしたまま、コードを使用して既存のスキルセットを適切に活用したい理由です。

意見、ご意見、アドバイスはありますか?なぜ誰かが私が "制御モード"を切り替えるための列を取得できないのか知っていますか?

+0

違反はありませんが、TL; DR; - おそらく、あなたの質問を少し大きめにして、おそらく複数の質問に分割することができますか?上記の多くの回答を得るのは難しいでしょう。 – Ryan

答えて

0

私はあなたのシナリオを完全に理解しているとは思わない。いくつかのコードサンプルが役に立ちます。

しかし、とにかく、あなたはユーザーフィールドのいくつかの大きなカスタマイズをしたいように思えます。その場合、メリットとデメリットをすべて考慮してカスタムフィールドを作成することができます。 MSDNをご覧ください:http://msdn.microsoft.com/en-us/library/gg132914.aspx

この列を多くのリスト定義で再利用したくない場合は、カスタムレンダリングテンプレートを使用してカスタム作成/編集を行うこともできますフィールドの特定の編集動作(一部のSharePointコントロールを含むプレーンASP.NET)を実装するフォーム。ここでは、SharePointデザイナーからカスタム編集フォームを取得する方法について説明します。http://community.bamboosolutions.com/blogs/sharepoint-2010/archive/2011/05/12/sharepoint-2010-cookbook-how-to-create-a-customized-list-edit-form-for-development-in-visual-studio-2010.aspx

これが役立ちます。 Kr。、Bernd。

関連する問題