Basic CAML query properties used in sharepoint
- Group by :- used to group the data in list view
- Order by :- used to sort the list either in ASCENDING or DECENDING
- Row limit :- used to set the limit of item returned from qury
- View fields :- used to filter fields from the list
- View :- section which usally surrounds all of the section
- Query :- used to pass the query inside view section
- OR/AND :- Used within the ‘Where’ element to group filters in a query for a view
Example: OrderBy
<OrderBy>
<FieldRef Name="Modified" Ascending="FALSE"></FieldRef>
</OrderBy>
Example: GroupBy
<GroupBy>
<FieldRef Name="Modified"/>
</GroupBy>
Example: AND
Dim oSb As New System.Text.StringBuilder
oSb.Append(" <Where>")
oSb.Append(" <And> ")
oSb.Append(" <Eq>")
oSb.Append(" <FieldRef Name=""Displayed"" />")
oSb.Append(" <Value Type=""Boolean"">1</Value>")
oSb.Append(" </Eq>")
oSb.Append(" <Neq>")
oSb.Append(" <FieldRef Name=""Booking_x0020_Status"" />")
oSb.Append(" <Value Type=""Text"">Cancelled</Value>")
oSb.Append(" </Neq>")
oSb.Append(" </And> ")
oSb.Append(" </Where>")
Dim sResult As String = oSb.ToString()
Dim query As New SPQuery()
query.Query = sResult
Dim _waitingcoll As SPListItemCollection = _waitinglist.GetItems(query)
Example: OR
Dim oSb As New System.Text.StringBuilder
oSb.Append(" <Where>")
oSb.Append(" <Or> ")
oSb.Append(" <Eq>")
oSb.Append(" <FieldRef Name=""Displayed"" />")
oSb.Append(" <Value Type=""Boolean"">1</Value>")
oSb.Append(" </Eq>")
oSb.Append(" <Neq>")
oSb.Append(" <FieldRef Name=""Booking_x0020_Status"" />")
oSb.Append(" <Value Type=""Text"">Cancelled</Value>")
oSb.Append(" </Neq>")
oSb.Append(" </Or> ")
oSb.Append(" </Where>")
Dim sResult As String = oSb.ToString()
Dim query As New SPQuery()
query.Query = sResult
Dim _waitingcoll As SPListItemCollection = _waitinglist.GetItems(query)
Example Begin'swith / Contains
<Where>
<And>
<BeginsWith>
<FieldRef Name="Conference"/>
<Value Type="Note">Morning</Value>
</BeginsWith>
<Contains>
<FieldRef Name="Conference" />
<Value Type="Note">discussion session</Value>
</Contains>
</And>
</Where>
The full Code snippets will look like:
<View>
<Query>
<OrderBy>
<FieldRef Name='ID'/>
</OrderBy>
<Where>
<Or>
<Geq>
<FieldRef Name='Field1'/>
<Value Type='Number'>1500</Value>
</Geq>
<Leq>
<FieldRef Name='Field2'/><Value Type='Number'>500</Value>
</Leq>
</Or>
</Where>
</Query>
<ViewFields>
<FieldRef Name='Title'/>
<FieldRef Name='Name'/>
</ViewFields>
<RowLimit>10</RowLimit>
</View>
No comments:
Post a Comment