SpServices with JqGrid in in button click event with where condition sharepoint
Hi friends,
Here is code to display spservices getlistitems in jqgrid Sharepoint page load event.
Here is the code. here my list name is ProjectDetails.
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta name="WebPartPageExpansion" content="full" />
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<SharePoint:CssRegistration Name="default" runat="server"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<style type="text/css" src="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/css/ui.jqgrid.css"></style>
<link rel="stylesheet" type="text/css" href="/Style%20Library/Jqgrid.css"></link>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/js/i18n/grid.locale-el.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/js/jquery.jqGrid.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/json2/20140204/json2.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.SPServices/2014.02/jquery.SPServices-2014.02.min.js"></script>
<script>
</script>
<script>
$(document).ready(function() {
var mydata;
var JqData1=[];
var counter = 0;
});
</script>
</head>
<body>
<form id="form1" runat="server">
<table>
<tr>
<td><input name="Text1" type="text" id="txtdata"/></td>
<td><asp:DropDownList runat="server" id="DropDownList1">
<asp:ListItem Text="Approved" Value="Approved" Selected="True"></asp:ListItem>
<asp:ListItem Text="Pending" Value="Pending"></asp:ListItem>
<asp:ListItem Text="All" Value=""></asp:ListItem>
</asp:DropDownList>
</td>
<td><input name="Button1" type="button" value="button" onclick="Button()"/></td>
</tr>
</table>
<div id='tblMain' style="float:left;width:600px">
<table id="list" ></table>
<div id="pager" style="text-align:center;"></div>
</div>
</form>
</body>
<script>
function Button()
{
//alert('hi');
var a=$('#DropDownList1').val();
var b=$('#txtdata').val();
sortIdexName = jQuery("#list").getGridParam("sortname"); //Maintaining Consitant SortName after the Sortcol event
sortOrderName = jQuery("#list").getGridParam("sortorder"); //Maintaining Consistant Sort Order
Query = "<Query> <Where><And><Eq><FieldRef Name='ApprovalStatus' /><Value Type='Text'>"+a+"</Value></Eq> <Eq><FieldRef Name='ProjectName' />"+
"<Value Type='Text'>"+b+"</Value></Eq></And></Where></Query>";
var mydata;
var JqData1=[];
var counter = 0;
var CAMLViewFields ="<ViewFields>"+" <FieldRef Name='ProjectId' />"+
"<FieldRef Name='ProjectName' /><FieldRef Name='DeliveryManager' /><FieldRef Name='ApprovalStatus' /></ViewFields>"
$().SPServices({
operation : "GetListItems",
async : false,
listName : "ProjectDetails",
CAMLQuery : Query,
CAMLViewFields : CAMLViewFields,
completefunc: function (xData, Status) {
// alert(xData.responseText);
//var counter = 0;
$(xData.responseXML).SPFilterNode("z:row").each(function() {
var JqData={};
if (counter == 0) {
JqData.PID= $(this).attr("ows_ID");
JqData.PName=$(this).attr("ows_ProjectName");
JqData.PManager=$(this).attr("ows_DeliveryManager");
JqData.PStatus=$(this).attr("ows_ApprovalStatus");
counter = counter + 1;
} else {
JqData.PID= $(this).attr("ows_ID");
JqData.PName=$(this).attr("ows_ProjectName");
JqData.PManager=$(this).attr("ows_DeliveryManager");
JqData.PStatus=$(this).attr("ows_ApprovalStatus");
counter = counter + 1;
}
JqData1.push(JqData);
});
}
});
$('#list').jqGrid('GridUnload');
// $('#list').jqGrid('clearGridData');
jQuery("#list").jqGrid({
data: JqData1,
datatype: "local",
height: 150,
width:900,
hidegrid: false,
colNames: ['PID', 'PName','PManager','PStatus'],
colModel: [
{ name: 'PID', index: 'PID', width: 100, align: "center", sorttype: 'int' },
{ name: 'PName', index: 'PName', width: 100, align: "left" },
{ name: 'PManager', index: 'PManager', width: 100, align: "left" },
{ name: 'PStatus', index: 'PStatus', width: 100, align: "left" }
],
pager: true,
pager: '#pager',
pageinput: true,
rowNum: 2,
rowList: [5, 10, 20, 50, 100],
sortname: 'ApprovalStatus',
sortorder: "asc",
viewrecords: true,
autowidth: true,
emptyrecords: "No records to view",
loadtext: "Loading..."
});
jQuery("#list").jqGrid('navGrid', "#pager", { edit: false, add: false, del: false, search: true, refresh: true });
}
</script>
</html>
Here is code to display spservices getlistitems in jqgrid Sharepoint page load event.
Here is the code. here my list name is ProjectDetails.
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta name="WebPartPageExpansion" content="full" />
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<SharePoint:CssRegistration Name="default" runat="server"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<style type="text/css" src="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/css/ui.jqgrid.css"></style>
<link rel="stylesheet" type="text/css" href="/Style%20Library/Jqgrid.css"></link>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/js/i18n/grid.locale-el.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/js/jquery.jqGrid.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/json2/20140204/json2.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.SPServices/2014.02/jquery.SPServices-2014.02.min.js"></script>
<script>
</script>
<script>
$(document).ready(function() {
var mydata;
var JqData1=[];
var counter = 0;
});
</script>
</head>
<body>
<form id="form1" runat="server">
<table>
<tr>
<td><input name="Text1" type="text" id="txtdata"/></td>
<td><asp:DropDownList runat="server" id="DropDownList1">
<asp:ListItem Text="Approved" Value="Approved" Selected="True"></asp:ListItem>
<asp:ListItem Text="Pending" Value="Pending"></asp:ListItem>
<asp:ListItem Text="All" Value=""></asp:ListItem>
</asp:DropDownList>
</td>
<td><input name="Button1" type="button" value="button" onclick="Button()"/></td>
</tr>
</table>
<div id='tblMain' style="float:left;width:600px">
<table id="list" ></table>
<div id="pager" style="text-align:center;"></div>
</div>
</form>
</body>
<script>
function Button()
{
//alert('hi');
var a=$('#DropDownList1').val();
var b=$('#txtdata').val();
sortIdexName = jQuery("#list").getGridParam("sortname"); //Maintaining Consitant SortName after the Sortcol event
sortOrderName = jQuery("#list").getGridParam("sortorder"); //Maintaining Consistant Sort Order
Query = "<Query> <Where><And><Eq><FieldRef Name='ApprovalStatus' /><Value Type='Text'>"+a+"</Value></Eq> <Eq><FieldRef Name='ProjectName' />"+
"<Value Type='Text'>"+b+"</Value></Eq></And></Where></Query>";
var mydata;
var JqData1=[];
var counter = 0;
var CAMLViewFields ="<ViewFields>"+" <FieldRef Name='ProjectId' />"+
"<FieldRef Name='ProjectName' /><FieldRef Name='DeliveryManager' /><FieldRef Name='ApprovalStatus' /></ViewFields>"
$().SPServices({
operation : "GetListItems",
async : false,
listName : "ProjectDetails",
CAMLQuery : Query,
CAMLViewFields : CAMLViewFields,
completefunc: function (xData, Status) {
// alert(xData.responseText);
//var counter = 0;
$(xData.responseXML).SPFilterNode("z:row").each(function() {
var JqData={};
if (counter == 0) {
JqData.PID= $(this).attr("ows_ID");
JqData.PName=$(this).attr("ows_ProjectName");
JqData.PManager=$(this).attr("ows_DeliveryManager");
JqData.PStatus=$(this).attr("ows_ApprovalStatus");
counter = counter + 1;
} else {
JqData.PID= $(this).attr("ows_ID");
JqData.PName=$(this).attr("ows_ProjectName");
JqData.PManager=$(this).attr("ows_DeliveryManager");
JqData.PStatus=$(this).attr("ows_ApprovalStatus");
counter = counter + 1;
}
JqData1.push(JqData);
});
}
});
$('#list').jqGrid('GridUnload');
// $('#list').jqGrid('clearGridData');
jQuery("#list").jqGrid({
data: JqData1,
datatype: "local",
height: 150,
width:900,
hidegrid: false,
colNames: ['PID', 'PName','PManager','PStatus'],
colModel: [
{ name: 'PID', index: 'PID', width: 100, align: "center", sorttype: 'int' },
{ name: 'PName', index: 'PName', width: 100, align: "left" },
{ name: 'PManager', index: 'PManager', width: 100, align: "left" },
{ name: 'PStatus', index: 'PStatus', width: 100, align: "left" }
],
pager: true,
pager: '#pager',
pageinput: true,
rowNum: 2,
rowList: [5, 10, 20, 50, 100],
sortname: 'ApprovalStatus',
sortorder: "asc",
viewrecords: true,
autowidth: true,
emptyrecords: "No records to view",
loadtext: "Loading..."
});
jQuery("#list").jqGrid('navGrid', "#pager", { edit: false, add: false, del: false, search: true, refresh: true });
}
</script>
</html>
Comments