2016-07-02 18 views
1

私はシナリオを持っています。私はcamlクエリを作成してください。CAMLクエリと結合条件との関係

Sharepointのリスト1には列があります。

  • ID
  • 顧客名
  • 支店

SharePointリスト2には列があります

  • ID
  • CUST_ID
  • 製品名
  • 数量

ID(list 1)=Cust_ID(list 2)

特定の分岐から人物のログインを仮定し、現在のログインブランチが最初にチェックされています。 そしてASPグリッドビューで表示Sharpeointリスト2が、現在のブランチのすべての内容は、(フォームのリスト1を取るべき分岐)。現在のログインブランチを確認するための条件と一緒に、結合クエリが必要です。

は親切に私は同じのためのCamlのクエリを構築するのに役立ち、私はいくつかのCamlのクエリビルダを試みたが、くぼみは、結果を得ます。あなたは1人のユーザーまたはあなたのようなモデルを作成することができますし、そうであれば、IDや支店を持つ第二のリストに問い合わせる必要があります両方のために複数のBrachがある場合LIST2への分岐を検索する必要があり、このケースをjoin.inすることはできません

答えて

0

私はあなたので、もしあなたが枝やIDを持っていると仮定し

public class AllDatas 
{ 
public AllDatas(SplistItem item) 
{ 
CustomerName = item["CustomerName"] 
Branch = item["Branch"] 
Product = item["Product"] 
. 
. 
. 
} 

string CustomerName {get;set} 
string Branch {get;set;}//this can be int what evet you want 
string Product Name {get;set} 
int Quantity {get;set} 
int Value {get;set} 
} 

あなたは支店名や支店コードを持っていけないあなたはデータをモデル化することをそのユーザの負荷ですべてのデータを取得することができますし、モデルからあなたがほしいと思うものを選択することができますIDを持たず、ブランチしか持っていないと、あなたはカンプする必要があります。ブランチでリストを取得してList2にIDを取得すると、cam1と同じ方法でlist1からデータを取得できます。

using(SPSite oSiteCollection = new SPSite("http://Server_Name")) 
{ 
    using(SPWeb oWebsite = oSiteCollection.OpenWeb("Website_URL")) 
    { 

SpList list2Col = oWebsite.Lists["List2"]; 
SPListItemCollection list2 = list2Col.GetItems("<Query><Where><Eq><FieldRef Name='Cust_ID' /><Value Type='Number'>"Your Customer ID From List1"</Value></Eq></Where></Query>"); 
List<AllDatas> myDatas = new List<AllDatas>(); 
     foreach(SpListItem item in list2) 
{ 
myDatas.add(new AllDatas(item)); 
} 

var resultWithCorrectBranch = myDatas.Where(t=>t.Branch=="something" 
    } 
} 
関連する問題