2010-12-29 15 views
0

フィルタリングされたリストを別のリストに割り当てる必要がありますが、フィルタのリスト構造はわかりません。それは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; 
     } 

ATT、

エドゥアルド

答えて

0

「を割り当てるする方法はありませんリストを別のリストに追加する "。あなたは、リストメタデータとリストコンテンツの間には根本的な違い(アイテム)を理解する必要があります。

  • SPListは、リストのメタデータ表しを。
  • SPListItemCollectionは、データのリストのの特定のを含んでいます。両方のリストの

あなたが別のリストに1つのリストの(フィルタリング)コンテンツをコピーする必要がある場合は、あなたが構造(許可されたコンテンツの種類、フィールドを)理解しなければならないとの項目を一つずつコピーする(可能性を持ちますデータ変換)。

注:アイテムのコレクションを知るリストのメタデータを取得するには、SPListItemCollection.Listというプロパティがあります。

+0

しかし、どのようにこれらの構造を見つけることができますか?私の場合は、リストの名前であり、そのリストからロジックを行うパラメータを捕まえましたが、このリストとそのコンテンツタイプの構造はわかりません。 これを行うコードブロックを表示できますか? ありがとうございました –

+0

http://msdn.microsoft.com/en-us/library/ms460897.aspxのような基本的なドキュメントをご覧ください。または、あなたの質問を編集し、これまでに作成したコードを提供してください。 –

関連する問題