0

ドキュメント ライブラリでは、カスタム計算列が必要です。既定の Excel 数式では必要な機能が提供されないためです。

SPFieldText から継承するカスタム フィールドを作成し、自由にカスタマイズできるようにしました。問題は、カスタム フィールドからドキュメント ライブラリの他のフィールドのコンテンツ値にアクセスするにはどうすればよいかということです。

他の世界では、オーバーライドされた GetValidatedString メソッドで、同じレコードに対して、他のフィールドの値に依存する値を返すにはどうすればよいでしょうか? 以下の getFieldValue() の実装方法:

public class MyCustomField : SPFieldText
{
    ....
    public override string GetValidatedString(object value)
    {
        string value1 = getFieldValue("Column-Name1");
        string value2 = getFieldValue("Column-Name2");
        return value1 + ", " + value2; // any arbitrary operation on field values
    }
}

ありがとう!

4

1 に答える 1

0

FormComponent の Item プロパティまたは ItemContext の Item プロパティを使用して、フォームから他の値を取得できるはずです。

FieldControlこれらのいずれかがクラスから機能するはずです。

コードスニペット

if ((this.ControlMode == SPControlMode.New) || (this.ControlMode == SPControlMode.Edit))

{

   object obj = this.Item["Name"];

   if (obj != null)

      string name = obj.ToString();



   object obj2 = base.ItemContext.Item["Name"];

   if (obj2 != null)

string name2 = obj2.ToString();

}

「名前」は、取得するフィールドの内部名です。

于 2012-03-01T11:16:11.810 に答える