<%@ Page Title="" Language="C#" MasterPageFile="~/Master/AjaxClient.Master" AutoEventWireup="true" CodeBehind="QueryBuilder.aspx.cs" Inherits="DataServiceAjaxClient.QueryBuilder.QueryBuilder" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<label>Insert Credits to filter the results:</label><br />
<label>Credits:</label><input id="txtCredits" type="text" /><br/>
<input id="ButtonQuery" type="button" value="Perform Courses Query" onclick="doQuery()" /><br />
<br />
<span id="spanResults"></span>
<script type="text/javascript">
function doQuery() {
var queryBuilder = new Sys.Data.QueryBuilder("Course");
// set the filters if neccesery
queryBuilder.set_filter(buildFilter("txtCredits", "Credits eq "));
// set the order by the title
queryBuilder.set_orderby("Title");
// perform the query itself
proxy.query(queryBuilder.toString(), onSuccess, onFailure);
}
function buildFilter(txtName, query) {
debugger;
var txt = $get(txtName);
if (txt.value != null && txt.value != '')
{
return query + txt.value;
}
return '';
}
function onFailure(error, context, operation) {
$get("spanResults").innerHTML =
BuildErrorString(error, operation);
}
function BuildErrorString(error, operation) {
var sb = new Sys.StringBuilder("Error occurred while performing operation ");
sb.append(operation);
sb.append("!");
return sb.toString();
}
function onSuccess(result, context, operation) {
var spanResults = $get("spanResults");
spanResults.innerHTML = '';
// Get Customers list and render by using an HTML table.
var sb = new Sys.StringBuilder();
sb.append("<table cellpadding='1' cellspacing='1' border='1' bordercolor='green'>");
var firstRowOutput = false;
for (index in result) {
var course = result[index];
// If this is first row write the table header
if (!firstRowOutput) {
sb.append("<tr>");
for (key in course) {
if (key != "__metadata") {
sb.append("<th>");
sb.append(key);
sb.append("</th>");
}
}
sb.append("</tr>");
firstRowOutput = true;
}
// Display the data.
sb.append("<tr>");
for (key in course) {
if (key != "__metadata") {
sb.append("<td>");
sb.append(course[key]);
sb.append("</td>");
}
}
sb.append("</tr>");
}
sb.append("</table>");
spanResults.innerHTML = sb.toString();
}
</script>
</asp:Content>