虽然可以通过视图来限制获取列表数据的列,但视图有一个项目限制的功能,也就是一次显示多少条项目数,默认只显示30条数据,
多余的数据就会分页显示。因此在使用对象模型根据视图获取数据时也只会得到前30条的数据,所以如果不想得到项目数的限制,
则可以使用SPQuery的ViewFields属性来限制列。代码如下:
protected
void
GetColumnByViewFields()
{
SPWeb web = SPContext.Current.Web;
SPList list = web.Lists.TryGetList(
"通知"
);
SPQuery query =
new
SPQuery();
query.ViewFields =
"<FieldRef Name='Title'/><FieldRef Name='CreatedOn'/>"
;
SPListItemCollection itemColl = list.GetItems(query);
}
使用SPQuery对象的ViewFields属性将要获取的列添加进去,这样获取到的数据就会很少,减少了服务器的压力。
ViewFields属性中每个字段的格式为:<FieldRef Name='Title'/>,其中Title就要想要获取的列名,也就是SharePoint列表的栏名