Building Dynamic CAML Query with "AND" or "OR" operator and multiple parameter in SharePoint
private string BuildingDynamicCAMLQuery(string[] parameters)
{
// string[] parameters = new string[] { "file1", "file2"};
StringBuilder sb = new StringBuilder();
if (parameters.Length == 0)
{
// for default query
AppendingEQoperator(sb, "all");
}
// "OR" each parameter to the query
for (int i = 0; i < parameters.Length; i++)
{
AppendingEQoperator(sb, parameters[i]);
if (i > 0)
{
sb.Insert(0, "<Or>");
sb.Append("</Or>");
}
}
sb.Insert(0, "<View><Query><Where>");
sb.Append("</Where></Query></View>");
return sb.ToString();
}
private void AppendingEQoperator(StringBuilder sb, string paramValue)
{
// put your field's internal name in place of Category
sb.Append("<Eq>");
sb.Append("<FieldRef Name='FileLeafRef'/>");
sb.AppendFormat("<Value Type='File'>" + paramValue + "</Value>");
sb.Append("</Eq>");
}
private string BuildingDynamicCAMLQuery(string[] parameters)
{
// string[] parameters = new string[] { "file1", "file2"};
StringBuilder sb = new StringBuilder();
if (parameters.Length == 0)
{
// for default query
AppendingEQoperator(sb, "all");
}
// "OR" each parameter to the query
for (int i = 0; i < parameters.Length; i++)
{
AppendingEQoperator(sb, parameters[i]);
if (i > 0)
{
sb.Insert(0, "<Or>");
sb.Append("</Or>");
}
}
sb.Insert(0, "<View><Query><Where>");
sb.Append("</Where></Query></View>");
return sb.ToString();
}
private void AppendingEQoperator(StringBuilder sb, string paramValue)
{
// put your field's internal name in place of Category
sb.Append("<Eq>");
sb.Append("<FieldRef Name='FileLeafRef'/>");
sb.AppendFormat("<Value Type='File'>" + paramValue + "</Value>");
sb.Append("</Eq>");
}
No comments:
Post a Comment