0

当我单击网格中的图标时,我需要获取患者的详细信息,CGridview它应该打印患者的详细信息(位于更新页面中)。

已经尝试过window.print()(.class).printPage()不知道如何实现?

4

1 回答 1

0

在您CGridView调用时(可能在您的患者视图的管理视图中),添加一个额外的按钮,如下所示:

array(
    'class'=>'CButtonColumn',
    'template'=>'{printbutton}{view}{update}{delete}',
    'buttons'=>array(
        'printbutton' => array(
            'label'=>'Print',
            'imageUrl'=>Yii::app()->request->baseUrl.'/images/print_icon.png',
            'url'=>'Yii::app()->createUrl("patient/printitem", array("id"=>$data->id))',
         ),
    ),
),

你会看到:

  • 引用要用作图标的图像(在此示例中存储在 *image/print_icon.png* 中)
  • 引用控制器/操作 URL(在此示例中为患者/打印项)并将其传递给id单击的患者记录

此控制器/操作现在必须选择患者记录,然后呈现视图,例如:

public function actionPrintitem(){
    $model = Patient::model()->findByPk($_REQUEST['id']);
    $this->render("printitem",array(
        "model" => $model
    ));
}

现在,在这个视图中(您必须创建它),只需window.print();在页面加载后触发 a,这将打开浏览器打印窗口

于 2012-12-21T12:32:56.220 回答