我正在尝试选择jqgrid表中的所有数据,以便导出到excel文件中。但是,网格第一页中的数据只会被导出。即,如果网格中共有25条记录,并且第一页中有5条记录,则只有前5条记录被导出。
以下代码负责显示仅有'在网格的第一页..
var gridData = $(" #list")。jqGrid(' getRowData');
以下代码负责显示网格中所有页面中的记录。
var gridData1 = jQuery(" #list")。jqGrid(' getGridParam','数据');
如何使用上面的代码,以便我可以选择网格中存在的所有记录。另外,我正在尝试对网格中存在的记录应用过滤器。在这种情况下,如何获取已过滤的记录数以便将其导出..?
谢谢,
答案 0 :(得分:0)
你可以在服务器端做。
<script type="text/javascript">
$(document).ready(function () {
$('#list').jqGrid({
caption: "test",
// ...
}).navGrid(
// ...
}).jqGrid('navButtonAdd', '#pager', {
caption: "", buttonicon: "ui-icon-print", title: "export",
onClickButton: function () {
$("#list").jqGrid('excelExport', { url: 'path......' });
}
});
});
</script>
excelExport
方法,将当前页码,排序字段,过滤等发送到指定的URL。现在你有时间处理这些参数并创建一个新的输出。
答案 1 :(得分:-1)
您可能想尝试下面的脚本和功能:
&lt; script type =&#39; text / javascript&#39;&gt;
var tableToExcel = (function () {
var uri = 'data:application/vnd.ms-excel;base64,'
, template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>'
, base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))) }
, format = function (s, c) { return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; }) }
return function (table, name) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = { worksheet: name || 'Worksheet', table: table.outerHTML }
window.location.href = uri + base64(format(template, ctx))
}
})();
$(document).ready(function () {
...declare & setup the jqGrid with 'big row page', e.g. ...
rowNum: 9999,
rowList: [50, 100, 200, 9999],
.........then add below navigation button after setup the grid...
$("#list").jqGrid('navButtonAdd', pgrid1, {caption:"Download",title:"Download report contents", buttonicon :'ui-icon-circle-arrow-s',
onClickButton:function(){
tableToExcel('list', 'export data')
}
});
}
&LT; /脚本&GT;
或者,另一种导出方式可以参考相关问题: How to enable jQgrid to Export data into PDF/Excel