【问题标题】:Jqgrid PHP - export pdf with row numbers columnJqgrid PHP - 导出带有行号列的pdf
【发布时间】:2018-01-23 22:14:01
【问题描述】:

您好,有没有在 jqgrid PHP 中导出序数列的选项(“rownumbers”=>true)? 或者也许有其他方法可以在导出期间生成此列?

提前致谢

$grid->setPdfOptions(array(
    "page_orientation" => "L",
    "grid_row_height"=>10,
    "page_format"=>"A4",
    "shrink_cell"=>false,
    "reprint_grid_header"=>true, 
    "font_size_main"=>16,
    "font_size_data"=>7,
    "font_name_data"=>"freeserif", 
    "font_name_main"=>"freeserif",
    "font_monospaced"=>"freeserif",
    "header"=>true, 
    "margin_top"=>15, 
    "header_logo"=>"logo.gif",
    "header_logo_width"=>40, 
    "header_title"=>$_COOKIE['data'],
    "footer"=>true
));

【问题讨论】:

    标签: php export-to-pdf jqgrid-php


    【解决方案1】:

    在当前的实现中,没有内置方法可以做到这一点。可以模拟select语句中的行号,正常工作中该字段可以隐藏,导出时显示。

    为了得到实用的解决方案,需要了解使用的数据库,如 MySql、Postgree Sql 或其他。

    更新:如果是 MySql,您可以尝试以下操作

    // Connection to the server
    $conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD);
    // Tell the db that we use utf-8
    $conn->query("SET NAMES utf8");
    // reset variable
    $conn->query('SET @row_number = 0');
    $grid = new jqGridRender($conn);
    $grid-SelectCommand = "SELECT (@row_number:=@row_number + 1) AS num, field1, field2 FROM table";
    ...
    $exportme = false;
    if($grid->oper == 'pdf') {
        $exportme = true;
    }
    
    ...
    $grid->setColProperty("num", array("hidden"=>!$exportme));
    

    【讨论】:

    • 感谢您的回答。关于 select 语句我知道怎么做,但是有一个问题,当我使用过滤器或搜索时,我可能会丢失数字层次结构。
    • 数据库是在MySql中构建的
    • 再次感谢您的更新,但这个解决方案完全符合我的想法,当我尝试导出搜索结果时,我失去了层次结构。我需要一种方法来在仅针对满足搜索要求的行导出之前生成此列。
    • 在这种情况下,建议查看一个可以演示问题的工作示例。你到底是什么意思 - 我失去了层次结构?
    • 按层次结构,在我使用排序或 jqgrid 中的 serach 选项后,它在行号列中丢失了数字顺序。
    猜你喜欢
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 2020-03-17
    • 2016-04-20
    相关资源
    最近更新 更多