Sharepoint 如何将筛选列表分配给其他列表

Sharepoint 如何将筛选列表分配给其他列表,sharepoint,visual-studio-2010,sharepoint-2010,project,Sharepoint,Visual Studio 2010,Sharepoint 2010,Project,我需要将一个过滤列表分配给另一个列表,但是我不知道要过滤的列表结构,只知道过滤器的参数。它只返回一个SPListItemCollection,我需要返回一个SPList 下面是捕获列表的方法,我需要返回一个列表,但按查询过滤: /// <summary> /// reads the list to display /// </summary> /// <returns></returns>

我需要将一个过滤列表分配给另一个列表,但是我不知道要过滤的列表结构,只知道过滤器的参数。它只返回一个SPListItemCollection,我需要返回一个SPList

下面是捕获列表的方法,我需要返回一个列表,但按查询过滤:

/// <summary>
        /// reads the list to display
        /// </summary>
        /// <returns></returns>
        public SPList GetListFromProjectWorkSpace()
        {
            SPList list = null;

            Guid projUID = _helper.GetProjUID();
            if (projUID == Guid.Empty)
            {
                return list;
            }

            // read project data
            IProjectWssInfoDataSet dataset = _service.ReadWssData(projUID);
            if (dataset.ProjWssInfo.Count == 0)
            {
                return list;
            }

            // get workspace name and url
            string workspaceName = dataset.ProjWssInfo[0].WorkspaceName;
            string workspaceUrl = dataset.ProjWssInfo[0].WorkspaceUrl;


            SPSecurity.RunWithElevatedPrivileges(()=>
            {
                using (SPSite site = new SPSite(workspaceUrl))
                {

                    for (int i = 0; i < site.AllWebs.Count; i++)
                        {
                            if (!site.AllWebs[i].ServerRelativeUrl.Contains(workspaceName))
                            {
                                continue;
                            }

                            try
                            {
                                list = site.AllWebs[i].Lists[SelectedList];

                            }
                            catch
                            {
                            }


                        }

                        SPQuery query = new SPQuery();

                        query.Query = @"<Where>
                                          <Contains>
                                             <FieldRef Name='LinkFilenameNoMenu' />
                                             <Value Type='Computed'>work</Value>
                                          </Contains>
                                       </Where>";



                        SPListItemCollection  itens = list.Items.List.GetItems(query);

                // I need help here




                }
            });


            return list;
        }
//
///读取要显示的列表
/// 
/// 
公共SPList GetListFromProjectWorkSpace()
{
SPList list=null;
Guid projUID=\u helper.GetProjUID();
if(projUID==Guid.Empty)
{
退货清单;
}
//读取项目数据
IProjectWssInfoDataSet数据集=_service.ReadWssData(projUID);
如果(dataset.ProjWssInfo.Count==0)
{
退货清单;
}
//获取工作区名称和url
字符串workspaceName=dataset.ProjWssInfo[0]。workspaceName;
字符串workspaceUrl=dataset.ProjWssInfo[0]。workspaceUrl;
SPSecurity.RunWithElevatedPrivileges(()=>
{
使用(SPSite站点=新SPSite(workspaceUrl))
{
for(int i=0;i
收件人:


爱德华多

没有“将一个列表分配到另一个列表”的方法。您必须了解列表元数据和列表内容(项)之间的基本区别:

  • SPList
    表示列表的元数据
  • SPListItemCollection
    包含列表的特定项—其数据
如果您需要将一个列表的(过滤)内容复制到另一个列表中,您必须了解两个列表的结构(允许的内容类型、字段),并逐个复制项目(可能进行数据转换)


注意:要获取列表的元数据,了解其项的集合,可以使用
SPListItemCollection.list
属性。

但是如何找到这些结构?在我的例子中,我捕获了一个参数,该参数是列表的名称,并从该列表中执行逻辑,但我不知道该列表的结构及其内容类型。可以显示执行此操作的代码块吗?感谢您查看一些基本文档,如:。或者编辑您的问题并提供您迄今为止创建的代码。