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 に答える