带有时间戳字段的Sharepoint自定义列表

带有时间戳字段的Sharepoint自定义列表,sharepoint,Sharepoint,我正在制作一个自定义SharePoint列表。我需要一个时间戳字段,但默认情况下,唯一可用的类型是DateTime 有什么帮助吗?我认为您需要创建一个自定义字段类型,以便可以控制日期时间类型和验证等的显示-有关更多信息,请参阅。我在Sharepoint 2010中遇到了相同的问题,并解决了它。如果其他人认为这很有用,则发布:) 要实现这一点,必须使用“计算”列类型 来自GUI: 创建新列 选择类型“计算” 选择“已创建”列并添加到公式中 保存 来自代码: 据我所知,实现这一目标有两种选择: 访问

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


有什么帮助吗?

我认为您需要创建一个自定义字段类型,以便可以控制日期时间类型和验证等的显示-有关更多信息,请参阅。

我在Sharepoint 2010中遇到了相同的问题,并解决了它。如果其他人认为这很有用,则发布:)

要实现这一点,必须使用“计算”列类型

来自GUI:

  • 创建新列
  • 选择类型“计算”
  • 选择“已创建”列并添加到公式中
  • 保存
  • 来自代码:

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

  • 访问“Created”并将其ShowInPlayForm属性设置为true,或将列添加到视图(例如DefaultView)

  • 创建一个指向“已创建”列的计算列,就像GUI示例所做的那样。诀窍是设置“公式”和“输出类型”属性

    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();
            }
        }
    });