jqGrid PHP - exportToPdf / exportToExcel抛出对未定义方法的调用

时间:2014-04-14 08:59:36

标签: jqgrid jqgrid-php

当我尝试将表格导出为PDF,Excel或CSV时,遇到了jqGrid的问题。

每次运行代码时,我都会得到#34;调用Undefined Method :: jqGrid :: exportToPdf" (或Excel或CSV,取决于我使用的方法。

以下是客户端的剪辑:

.jqGrid('navButtonAdd', '#ors_registrant_pager', {
id: 'exportToPdf',
caption: '',
title: 'Download PDF',
onClickButton: function(){
    grid.jqGrid('excelExport',{tag:"pdf","url":"info.php"});
}

这是info.php中的服务器端php脚本:

$conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD);
$conn->query("SET NAMES utf8");

$grid = new jqGrid($conn);

$grid->SelectCommand = "SELECT lastName, firstName FROM user_table";
$grid->ExportCommand = "SELECT lastName FROM user_table";
$grid->dataType = "json";

$export = $_POST["oper"];

if($export == "pdf") {
    $grid->exportToPdf();
} else {
    $grid->queryGrid();
}

网格在页面加载时正确加载,但如上所述,当您单击栏上的PDF按钮时,我会收到该错误。我已尝试将方法的所有参数用于上述相同的结果。我已经跟踪过了,并且exportToPdf方法确实存在于jqGrid类中。

我已搜索过,无法找到问题的任何引用。任何帮助将不胜感激。

更新

转到答案

1 个答案:

答案 0 :(得分:0)

好的,因为它发生了很多次,我一发布就找到了答案。有关PHP帮助的Trirand站点中的文档不正确。在帮助中,它声明使用jqGrid类进行PDF导出,但显然你必须使用jqGridRender类。

要进行PDF导出,我必须更改$ grid声明,如下所示:

$grid = null;

$export = $_GET["oper"];

if($export == "pdf"){
    $grid = new jqGridRender($conn);
} else {
    $grid = new jqGrid($conn);
}

这样做可以导出网格。

我打算删除该帖子,但我要离开,以防其他人遇到同样的问题,希望这会帮助他们。