2010-02-04 61 views
3

如何通过代码检查列的字段类型?例如,我知道“国家/地区”是SharePoint中的一列,我正在访问它,但我不知道它的类型。如果有任何方法,我可以通过编程方式检查它,然后执行一个操作,例如,如果它是一个Lookup Field,那么如果我想要它的值,我需要做... lookupvalue country ...或者如果它是一个Text场,我可以简单地得到它的价值作为字符串。在SharePoint中检查列以属性编程方式属于哪个字段

任何想法如何获得字段类型?

谢谢。

回答

6

好吧,我不知道这是否是你需要什么样的信息。

,但你可以用这种方法得到的列类型:

 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

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

   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 
相关问题