是否可以添加一个图像(pdf打印)到网格列与点击javascript动作?如:
$g->addColumn('button','edit','Edit');
最简单的是:
$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)。