0
我正在嘗試從已過濾的CGridView創建PDF。該值將通過高級搜索下拉列表中傳遞,但問題是我無法通過我的pdf函數篩選搜索。從已過濾的CGridView創建PDF文檔 - Yii
控制器
public function actionPrint() {
$mPDF1 = Yii::app()->ePdf->mpdf('ar','A4','14','dejavusanscondensed');
$model=new Country('search');
$model->center_id = 1;// This value will be passed from dropdown
//and i want the report to be made on this
$model->unsetAttributes();
if(isset($_GET['Country']))
$model->attributes=$_GET['Country'];
$html = '';
$html .= $this->renderPartial('candidates', array('model'=>$model, 'enablePagination' => false),true);
$mPDF1->WriteHTML($html, false);
$mPDF1->Output('list.pdf','D');
}
查看
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'country-grid',
'dataProvider'=>$model->search($enablePagination),
'summaryText' => '',
// 'enablePagination' => false,
'filter'=>$model,
'columns'=>array(
'name',
array(
'header'=>' Total Registered Candidates',
'value'=>'$data->itemsTotal',
),
),
));
echo CHtml::link(
'Save as PDF',
Yii::app()->createUrl('country/print'),
array('class'=>'btnPrint btn btn-danger','target'=>'_blank'));
模型
public function search($enablePagination = true)
{
$criteria->together= true;
$criteria->with=array('center');
$criteria->compare('center.name', $this->center_id, true);
..........
if ($enablePagination)
{
$pagination = array(
'pageSize' => 30,
);
}
else
{
$pagination = false;
}
return new CActiveDataProvider($model, array(
'criteria' => $criteria,
'pagination' => $pagination,
));
}
打印按鈕/鏈接?如果是的話,傳遞的鏈接參數是什麼?這可能是因爲您沒有將過濾器值作爲參數傳遞。 – topher
@topher問題不是傳遞值,因爲您可以看到我硬編碼了值,儘管這樣我無法獲得過濾的PDF報告。 –
您正在使用'$ model-> unsetAttributes()'取消設置'center_id'。將'$ model-> center_id = 1;'移動到'$ model-> attributes = $ _GET ['Country'];' – topher