I have a code with an XML query that I believe is correct but for some reason, when I type anything into the web apps search textbox, it appears to filter but actually just pulls 100 of the rows at random (?)...Does anyone see anything wrong with my query or know why a query would ever filter at random maxing out at 100?
public DataTable GetSPData(string SearchStr)
{
ISSTechCommService.Lists ListService = new ISSTechCommService.Lists();
ListService.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
ListService.Url = "http://teams8.sharepoint.hp.com/teams/ISSTechcommCatalog/_vti_bin/lists.asmx";
XmlDocument xmlDoc = new System.Xml.XmlDocument();
XmlNode ndQuery = xmlDoc.CreateNode(XmlNodeType.Element, "Query", "");
XmlNode ndViewFields = xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", "");
XmlNode ndQueryOptions = xmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", "");
ndQueryOptions.InnerXml =
"<IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>" +
"<DateInUtc>TRUE</DateInUtc>";
ndViewFields.InnerXml =
"<FieldRef Name='Is_x0020_Active' />" +
"<FieldRef Name='PublicationItem' />" +
"<FieldRef Name='Release_x0020_Title' />" +
"<FieldRef Name='Summary' />" +
"<FieldRef Name='Media_x0020_Type1' />" +
"<FieldRef Name='Release_x0020_Date' />" +
"<FieldRef Name='Internal_x0020_URL' />" +
"<FieldRef Name='External_x0020_URL' />" +
"<FieldRef Name='Number' />" +
"<FieldRef Name='Distribution' />";
ndQuery.InnerXml = "<where><contains><FieldRef Name='Distribution' /><value Type='TEXT'>" + SearchStr + "</value></contains></where>";
DataTable objTable = new DataTable();
try
{
XmlNode ndRequestNode = ListService.GetListItems("Roadmap", null, ndQuery, ndViewFields, null, ndQueryOptions, null);
XmlNodeReader ndReader = new XmlNodeReader(ndRequestNode);
DataSet objDS = new DataSet();
objDS.ReadXml(ndReader);
if (objDS.Tables.Count > 1) objTable = objDS.Tables[1];
// dispose the web service object
ListService.Dispose();
this.FormatTable(objTable);
}
catch (System.Web.Services.Protocols.SoapException ex)
{
throw new Exception(ex.InnerException.Message);
}
return objTable;
}