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