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