SharePoint 2010-自定义计算列



在文档库中,我需要一个自定义计算列,因为默认的Excel公式没有提供我需要的功能。

我创建了一个从SPFieldText继承的自定义字段,然后可以随意自定义。问题是:如何从我的自定义字段访问文档库其他字段的内容值?

在另一种情况下,在overriden 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
    }
}

谢谢!

您应该能够使用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();
}

其中"名称"是要检索的字段的内部名称。

相关内容

  • 没有找到相关文章

最新更新