首页 文章

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

提问于
浏览
0

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

有帮助吗?

2 回答

  • 0

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

    要实现这一点,必须使用“计算”的columntype .

    From GUI:

    • 创建新列

    • 选择类型"Calculated" .

    • 选择"Created"列并添加到公式 .

    • 保存 .

    From code:

    据我所知,有两种方法可以做到这一点:

    • 访问“已创建”并将其ShowInDisplayForm属性设置为true或将列添加到视图(例如DefaultView) .

    • 创建一个指向“已创建”列的计算列,就像GUI示例一样 . 诀窍是设置“公式”和“OutputType”属性 .

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

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

相关问题