2012-02-07 4 views
0

私の次のコードは、IDに基づくフィルタリングに使用されています。それは(結果が含まれている)列1および列2を返すように結果にColumn1とColumn2が含まれるようにCAMLクエリを書き込む方法は?

camlQuery = xmlDoc.CreateElement("Query"); 

       camlQuery.InnerXml = "<Where><Gt><FieldRef Name='ID'/><Value Type='Number'>0</Value></Gt></Where>"; 

がどのようにCAMLクエリを記述するために?

私はCAMLクエリを初めて使用していますが、フィルターをかけて特定の列のみを返すとは言えません。

上記のクエリを実行すると、私のリスト(42)のすべてのSharePoint列が返されますが、2-3は必要です。

おかげで、

答えて

0

MSDNのドキュメントはQuery財産とSPQueryオブジェクトのViewFieldsプロパティの両方を使用するには、どのように素敵な例を提供します。

SPList oList = oWebsiteRoot.Lists["List_Name"]; 
SPQuery oQuery = new SPQuery(); 
oQuery.ViewFields = "<FieldRef Name='Column1'/><FieldRef Name='Column2'/>"; 
oQuery.Query = "<Where><Gt><FieldRef Name='ID'/>" + 
       "<Value Type='Number'>0</Value></Gt></Where>"; 
SPListItemCollection collListItems = oList.GetItems(oQuery); 
0

以下のコードで試してみてください:参照の場合

XmlDocument xmlDoc = new System.Xml.XmlDocument(); 
    XmlElement query = xmlDoc.CreateElement("Query"); 
    XmlElement viewFields = xmlDoc.CreateElement("ViewFields"); 
    XmlElement queryOptions = xmlDoc.CreateElement("QueryOptions"); 

    query.InnerText = "<Where><Gt><FieldRef Name='ID'/><Value Type='Number'>0</Value></Gt></Where>"; 
    viewFields.InnerXml = "<FieldRef Name=\"Column1\" /><FieldRef Name=\"Column2\" />"; 
    queryOptions.InnerXml = ""; 

    try 
    { 
     XmlNode ndListItems = listService.GetListItems("List_Name", null, query, viewFields, null, queryOptions, null); 
    } 

msdn example

関連する問題