Tuesday, 30 June 2015

SPSerives : ForEach kind of condition using GetlistItems


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