sharepoint 2010 获取列表文件夹所有数据方法

在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;
        }

广州京微信息科技有限公司,.微软sharepoint解决方案提供商。

你可能感兴趣的:(SharePoint,SharePoint,SPQuery,文件夹遍历,所有数据)