The following code uses jqxgrid plugins. I changes loop value to 400, to generate 400 pages with 10 pages per page.
When run I only see 0-26 links (for 270 pages), instead of 0-39 links. How can I fix this please?
I another scenario, in my application, I only see paging links for 380 pages instead 900 pages. If anyone could fix, the following I’d be able to apply same solution in my application. Thanks so much!
The earlier code has been modified, to use the example from:
http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/virtualdata.htm?classic
Why doesn’t it display records? Please explain. What is the change required. Thanks so much.
<!DOCTYPE html>
<html lang="en">
<head>
<title id='Description'>In this demo jqxGrid uses a virtualized paging which enables you to handle very large data sets without any impact on client side performance.</title>
<link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" />
<script type="text/javascript" src="../../scripts/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxcore.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxdata.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxbuttons.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxscrollbar.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxmenu.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxlistbox.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxdropdownlist.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxgrid.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxgrid.pager.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxgrid.selection.js"></script>
<script type="text/javascript" src="../../scripts/gettheme.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var theme = getTheme();
// prepare the data
var data = new Array();
var jsonObject = { "contactList":[
{"age":1,"SId":"S1234567","gender":"male"},
{"age":1,"SId":"S1234567","gender":"male"},
{"age":1,"SId":"S1234567","gender":"male"},
{"age":1,"SId":"S1234567","gender":"male"},
{"age":1,"SId":"S1234567","gender":"male"},
{"age":1,"SId":"S1234567","gender":"male"},
{"age":1,"SId":"S1234567","gender":"male"},
{"age":1,"SId":"S1234567","gender":"male"},
{"age":1,"SId":"S1234567","gender":"male"},
], "totalrecords":9};
//alert("jsonObject.totalrecords : " + jsonObject.totalrecords);
// generate sample data.
var generatedata = function (startindex, endindex) {
var data = {};
for (var i = startindex; i < endindex; i++) {
//alert(startindex + " " + endindex);
var row = {};
row["age"] = jsonObject.contactList[i].age;
row["gender"] = jsonObject.contactList[i].gender;
row["SId"] = jsonObject.contactList[i].SId;
data[i] = row;
}
return data;
}
var source =
{
datatype: "array",
localdata: {},
totalrecords: jsonObject.totalrecords
};
// load virtual data.
var rendergridrows = function (params) {
alert("rendergridrows : " + source.totalrecords);
//alert("rendergridrows : " + params.startindex + " " + params.endindex);
var data = generatedata(params.startindex, params.endindex);
return data;
}
var totalcolumnrenderer = function (row, column, cellvalue) {
var cellvalue = $.jqx.dataFormat.formatnumber(cellvalue, 'c2');
return '<span style="margin: 6px 3px; font-size: 12px; float: right; font-weight: bold;">' + cellvalue + '</span>';
}
var dataAdapter = new $.jqx.dataAdapter(source);
$("#jqxgrid").jqxGrid(
{
width: 670,
autoheight: true,
source: dataAdapter,
theme: theme,
virtualmode: true,
pageable: true,
rendergridrows: rendergridrows,
columns: [
{ text: 'Age', datafield: 'age', width: 50 },
{ text: 'SId', datafield: 'SId', width: 120 },
{ text: 'Gender', datafield: 'gender', width: 80 },
]
});
});
</script>
</head>
<body class='default'>
<div id='jqxWidget' style="font-size: 13px; font-family: Verdana; float: left;">
<div id="jqxgrid"></div>
</div>
</body>
</html>
As far as I see from your code, you add anchor for each page. I do not think there would be enough space in the DIV tag for so many tags. Consider using a different layout like an input field for selecting the page as in this sample with 1 million records: virtualdata.htm