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 回答