具有TimeStamp字段的Sharepoint自定义列表

时间:2009-12-10 13:28:08

标签: sharepoint

我正在制作自定义SharePoint列表。我需要一个TimeStamp字段,但默认情况下唯一可用的类型是DateTime。

任何帮助?

2 个答案:

答案 0 :(得分:0)

我认为您需要创建自定义字段类型,以便您可以控制DateTime类型的显示和验证等 - 有关详细信息,请参阅this blog post

答案 1 :(得分:0)

我在Sharepoint 2010中遇到了同样的问题并解决了它。发布以防其他人认为这有用:)

要实现这一点,必须使用"计算" columntype。

来自GUI:

  1. 创建新列
  2. 选择类型"计算"。
  3. 选择"创建"列并添加到公式。
  4. 保存。
  5. 来自代码:

    据我所知,实现这一目标有两种选择:

    1. 访问"创建"并将其ShowInDisplayForm属性设置为true或将列添加到视图(例如DefaultView)。

    2. 创建一个指向"已创建"的计算列。列,就像GUI示例那样。诀窍是设置" Formula" &安培; "输出类型"属性。

      SPSecurity.RunWithElevatedPrivileges(delegate()
      {
          using (SPSite site = new SPSite(siteUrl))
          {
              using (SPWeb web = site.RootWeb)
              {
                  SPList list = web.Lists["test"];
                  string fieldName = list.Fields.Add("Timestamptest", SPFieldType.Calculated, false);
                  SPFieldCalculated field = list.Fields[fieldName] as SPFieldCalculated;
                  field.Formula = "=Created";
                  field.OutputType = SPFieldType.DateTime;
                  field.ShowInEditForm = false;
                  field.Update();
                  list.Update();
                  SPView defaultView = list.DefaultView;
                  defaultView.ViewFields.Add(field);
                  defaultView.Update();
              }
          }
      });