1

是否可以通过单击 javascript 操作将图像(pdf 打印)添加到网格列?喜欢:

$g->addColumn('button','edit','Edit');

但带有 img html 元素。

4

1 回答 1

0

最简单的是:

$g->addColumn('template','pdf_print')
    ->setTemplate('<a href="'.
        $this->api->getDestinationURL('pdfprint').
        '?id=<?$id?>"><img src="printicon.png"></a>');

另一种方法是定义自己的格式化程序。我还展示了如何将全局 javascript 处理程序添加到列,但仍传递单击记录的“id”。

function format_pdfbutton($column){
    $this->current_row[$column]=
        '<img src="printicon.png" class="print_'.$column.'"/>';
}
function init_pdfbutton($column){
    $this->js('click')->selector('.print_'.$column)->frameURL('Print Frame',
    array(
        $this->api->getDestinationURL('print'),
        'id='>$this->js()->_selectorThis()->closest('tr')->attr('del')
    ));
}

$g->addColumn('pdfbutton','print_my_pdf');

我还没有测试过上面的代码,但你也可以查看“Grid”源代码以及如何定义常规按钮(Grid::format_button、Grid::init_button)。

于 2011-12-07T10:59:49.143 回答