在文档库中,我需要一个自定义计算列,因为默认的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
}
}
谢谢!
答案 0 :(得分: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();
}
其中“Name”是您要检索的字段的内部名称。