We can create the For each kind of looping using SPServies as per the below code.
function GetAvabilityStateWise()
{
var Qstring="<table style='border-collapse: collapse;'><tr ><th style='border: 1px solid black;'><b>StateName</b></th><th style='border: 1px solid black;'><b> %Availability of Services </b></th> <tr>";
$().SPServices({
operation: "GetListItems",
async: false,
listName: "StateMaster",
CAMLViewFields: "<ViewFields><FieldRef Name='Title'/></ViewFields>",
CAMLQuery: "",
//CAMLRowLimit: 2,
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function() {
var t =$(this).attr("ows_Title");
var total= GetTotalCountForState(t);
var avlb = GetAvilableTotalCountForState(t);
var per;
if(avlb != 0 && total != 0)
per = (avlb/total)*100;
else
per=0;
//Qstring += t + " " + per + "%<br/>";
Qstring += "<tr><td style='border: 1px solid black;'>" + t + "</td><td style='border: 1px solid black;'>" + per + "%</td>";
});
}
});
// alert(Qstring);
$("#lblReport1").html(Qstring);
//document.getElementById('myId').innerHTML
}
function GetTotalCountForState(StateName)
{
var itemCount=0;
var queryText = "<Query><Where><Eq><FieldRef Name='State' /><Value Type='Lookup'>"+StateName+"</Value></Eq></Where></Query>";
$().SPServices({
operation: "GetListItems",
listName: "FacilityStatus",
async: false,
CAMLQuery: queryText,
completefunc: function (xData, status) {
//alert(xData.responseXML);
itemCount = $(xData.responseXML).SPFilterNode("rs:data").attr("ItemCount");
// alert(itemCount);
// $(".TextBox3").val(itemCount);
}
});
return itemCount ;
}
function GetAvilableTotalCountForState(StateName)
{
var itemCount=0;
//var queryText = "<Query><Where><And><Eq><FieldRef Name='State' /><Value Type='Lookup'>Rajasthan</Value></Eq><Eq><FieldRef Name='ServiceStage' /><Value Type='Lookup'>Services Available</Value></Eq></And></Where></Query>";
var queryText = "<Query><Where><And><Eq><FieldRef Name='State' /><Value Type='Lookup'>"+StateName+"</Value></Eq><Eq><FieldRef Name='ServiceStage' /><Value Type='Lookup'>Services Available</Value></Eq></And></Where></Query>";
$().SPServices({
operation: "GetListItems",
listName: "FacilityStatus",
async: false,
CAMLQuery: queryText,
completefunc: function (xData, status) {
// alert(xData.responseXML);
itemCount = $(xData.responseXML).SPFilterNode("rs:data").attr("ItemCount");
//alert("Avilable total for OfficeType "+ OfficeType +"is : " +itemCount);
// $(".TextBox3").val(itemCount);
}
});
return itemCount ;
}
No comments:
Post a Comment