Yii 我有一个带有患者列表的CGridview,我需要在网格中有一个按钮url,以便它打印当前记录的更新页面?

Yii 我有一个带有患者列表的CGridview,我需要在网格中有一个按钮url,以便它打印当前记录的更新页面?,yii,Yii,我需要在我的CGridview中获取患者的详细信息,当我单击网格中的图标时,它应该打印患者的详细信息(在更新页面中) 已经尝试了window.print()和(.class).printPage(),但不知道如何实现这些功能?在CGridView调用中(可能在患者视图的管理视图中),添加一个额外按钮,如下所示: array( 'class'=>'CButtonColumn', 'template'=>'{printbutton}{view}{update}{delet

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


已经尝试了
window.print()
(.class).printPage()
,但不知道如何实现这些功能?

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(在本例中为patient/printitem),并将单击的病历的
    id
    传递给它
此控制器/操作现在必须选择病历,然后渲染视图,如:

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

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

,因此您希望gridview中有一个图标,单击该图标时,将打开浏览器打印窗口,以显示已单击的病历更新页面?是Eskimo。您答对了。谢谢爱斯基摩人,我正在检查。没问题,如果您有任何问题,请告诉我。它将打印一个空白页。您的
printitem
视图的内容是什么?您很可能会复制您的
更新
查看
视图。实际上,一个批量页面包含来自不同表的数据。我已经创建了一个图像url和url,正如您所说,我刚刚修改了操作,以呈现到一个名为print的新页面,该页面仅包含windows。print()