sharepoint 2010 获取列表文件夹所有数据方法(本文转自http://blog.csdn.net/cxx2325938/article/details/8425166,我进行了补充说明)...

在sharepoint的数据列表查询中,一般都是采用CAML语言的方式来做查询,也就是平时我们用得比较多的是SPQuery.平时我们用对象模型splistitem,获取到的数据,都是列表根目录下的数据,而文件夹里面的数据,就没有包含进来,如果我们需要获取到文件夹里面的数据,以往我们都是一层层的去遍历,并且把数据添加到list中来,这种方式非常影响性能,效率也不高。

在SPQuery中,有提供了一个方法,可以非常容易的获取到文件夹里面的数据,它有个Folder以及ViewAttributes属性,也就是我们下面方法的GetItems(SPList list)

private void BindData()        

{            

  SPWeb web = SPContext.Current.Web;            

  SPList list = web.Lists["我的文档"];            

   SPListItemCollection items = GetItems(list);            

  GridView1.DataSource = items.GetDataTable();            

  GridView1.DataBind();        

}        

 

private SPListItemCollection GetItems(SPList list)        

{            

  SPQuery query = new SPQuery();            

  query.Folder = list.RootFolder; ;            

  query.ViewAttributes = "Scope=\"RecursiveAll\"";            

  SPListItemCollection itemCollection = list.GetItems(query);            

  return itemCollection;        

}

 

附上一些查询参数的说明和常用的参数

o    ViewAttributes
a. Scope='Default' : 只顯示指定文件夾下的項目及子文件夾
b. Scope='FilesOnly' : 只顯示指定文件夾下的項目
c. Scope='Recursive' : 顯示所有項目,不顯示文件夾
d. Scope='RecursiveAll' : 顯示所有項目和所有子文件夾

o    RowLimit
返回多少條記錄

CAML语法-Query写法

元素 说明
And 并且
BeginsWith 以某字符串开始的
Contains 包含某字符串
Eq 等于
FieldRef 一个字段的引用 (在GroupBy 中使用)
Geq 大于等于
GroupBy 分组
Gt 大于
IsNotNull 非空
IsNull 空
Leq 小于等于
Lt 小于
Neq 不等于
Now 当前时间
Or 或
OrderBy 排序
Today 今天的日期
TodayIso 今天的日期(ISO格式)
Where Where子句

转载于:https://www.cnblogs.com/flyingArrow/archive/2013/01/25/2877310.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值