我在操作列中添加了一个aditional按钮,这样当我点击它时,我应该从该特定行获取pdf报告,但是我不断收到错误,例如"服务器无法找到指定的'视图'行动或有时我得到所有数据的控制台日志,但我没有获得下载文件的选项。
控制器:
public function actionPrintHistEma($id){
$sql=Monitoreo::getSqlReportTest($id);
$model=Yii::app()->db->createCommand($sql)->queryAll();
$mPDF1 = Yii::app()->ePdf->mpdf();
$mPDF1->WriteHTML($this->renderPartial('print', array('model'=>$model), true));
$file_name= 'report_';
$mPDF1->Output( $file_name,EYiiPdf::OUTPUT_TO_DOWNLOAD );
exit;
}
型号:
public function getSqlReportTest($id){
$sql="SELECT mo.id,
mo.ema_id,
mo.temp_total,
mo.presion_est,
mo.hum_rel,
mo.fecha_hora,
mo.lluvia,
mo.velocidad,
mo.dir_grado,
mo.vol_bateria,
em.descripcion
FROM monitoreo mo, ema em
WHERE mo.ema_id = ".$id." AND em.id=".$id."
ORDER BY mo.fecha_hora";
return $sql;
}
管理视图(GridView的一部分):
'template'=>'{update}{gen_pdf}',
'buttons'=>array(
'gen_pdf' => array
(
'label'=>'Generar Reporte',
'imageUrl'=>Yii::app()->request->baseUrl.'/images/icons/pdf.png',
'url'=>'$data->id',
'click'=>"function(){
getPDFReport($(this).attr('href'));
return false;
}"
),
)
使用Javascript:
function getPDFReport(id){
<?php echo CHtml::ajax(array(
'url'=> array('Ema/PrintHistEma'),
'data'=> "js:{'id':id}",
'type'=>'post',
'dataType'=>'json',
'success'=>"function(data){
document.location='".Yii::app()->baseUrl."/Ema/PrintHistEma?'+id;
} ",
))?>;
return false;
}