在SharePoint中以编程方式检查列所属的字段类型

时间:2010-02-04 14:31:07

标签: c# sharepoint

我们如何通过代码检查列的字段类型是什么?例如,我知道“Country”是SharePoint中的一列,我正在访问它,但我不知道它的类型。如果有任何方法我可以以编程方式检查然后执行操作,例如,如果它是一个查找字段,那么如果我想要它的值,我需要做... lookupvalue country ...或者如果它是一个文本字段,我可以简单地将其值作为字符串。

知道如何获取字段类型吗?

感谢。

2 个答案:

答案 0 :(得分:8)

嗯,我不知道这是否是你需要的。

但您可以使用此方法获取列类型:

        SPSite site = new SPSite("your site");
        SPWeb web = site.OpenWeb("your web");
        SPField field = web.Fields["field Name"];
        SPFieldType fieldType = field.Type;
        switch (fieldType)
        {
            case SPFieldType.AllDayEvent:
                break;
            case SPFieldType.Attachments:
                break;
            case SPFieldType.Boolean:
                break;
            case SPFieldType.Calculated:
                break;
            case SPFieldType.Choice:
                break;
            default:
                break;...
        }

答案 1 :(得分:1)

您可以使用以下代码段获取有关字段类型

的信息
                SPContext.Current.Web.Lists["X"].Fields["Country"].Type
                SPContext.Current.Web.Lists["X"].Fields["Country"].TypeAsString
                Enum SPFieldType //Should help you to compare the type with the built in types