CAML Builder code
<Query><Where><And><Eq><FieldRef
Name="Created" /><Value Type="DateTime">[Today+1Day(s)]</Value></Eq></And></Where></Query>
Remove <Query> node
as shown below in the coding
<Where><And><Eq><FieldRef
Name="Created" /><Value Type="DateTime">[Today+1Day(s)]</Value></Eq></And></Where>
CAML Builder code
<Value Type="DateTime">[Today+1Day(s)]</Value>
Update as shown below in the coding
Get offsetdays value at runtime
<Value
Type='DateTime'><Today OffsetDays='" + offsetdays + "'/></Value>
You can hard code like this
<Today
OffsetDays='5'/></Value>
Below format is not supporting some times in the coding
<Where>
<And>
<Eq>
<FieldRef Name='Created' />
<Value Type='DateTime'><Today
OffsetDays='5'/></Value>
</Eq>
</And>
</Where>
Always use below format in the coding
<Where><And><Eq><FieldRef
Name="Created" /><Value Type="DateTime><Today OffsetDays='5'/></Value></Eq></And></Where>
Sample caml
query function
private static string CreateCAMLQuery(string
symbol,string offsetdays,string redcnt)
{
string strQuery = string.Empty;
switch (symbol.ToLower())
{
case "green":
strQuery = "<Where><And><IsNull><FieldRef
Name='Actual_Date' /></IsNull><Geq><FieldRef
Name='Target_Date' /><Value Type='DateTime'><Today
OffsetDays='" + offsetdays + "'/></Value></Geq></And></Where>";
return strQuery;
case "yellow":
strQuery = "<Where><And><IsNull><FieldRef
Name='Actual_Date' /></IsNull><And><Gt><FieldRef Name='Target_Date'
/><Value Type='DateTime'><Today OffsetDays='" + redcnt
+ "'/></Value></Gt><Leq><FieldRef
Name='Target_Date' /><Value Type='DateTime'><Today
OffsetDays='" + offsetdays + "'/></Value></Leq></And></And></Where>";
return strQuery;
case "red":
strQuery = "<Where><And><IsNull><FieldRef
Name='Actual_Date' /></IsNull><Leq><FieldRef
Name='Target_Date' /><Value Type='DateTime'><Today
OffsetDays='" + offsetdays + "'/></Value></Leq></And></Where>";
return strQuery;
default:
return null;
}
}
Call caml
query function
if (item["Days_x0020_for_x0020_Green"]
!= null)
{
queryGreen.Query = CreateCAMLQuery("green", item["Days_x0020_for_x0020_Green"].ToString(),
"0");
SPListItemCollection itemsGreen =
list.GetItems(queryGreen);
drow1[1] = "/_layouts/images/KPIDefault-0.GIF";
drow1[2] = itemsGreen.Count.ToString();
}
No comments:
Post a Comment