मैंने अपने आवेदन में yii2 ग्रिड व्यू लागू किया है और जब मैं प्रिंट बटन दबाता हूं तो मुझे एक रिपोर्ट के रूप में प्रिंट करते समय ग्रिड व्यू के चयनित आउटपुट को पीडीएफ प्रिंटर में पास करने की आवश्यकता होती है। मुझे नहीं पता कि मैं ग्रिड व्यू के परिणाम-सेट तक कैसे पहुंच सकता हूं और इसे अपने नियंत्रक कार्रवाई में कैसे पास कर सकता हूं

मैं पीडीएफ पीढ़ी के लिए कार्तिक एमपीडीएफ एक्सटेंशन का उपयोग कर रहा हूं

https://imgur.com/a/cGGt968

जब मैं प्रिंट बटन दबाता हूं तो मुझे डेटा को ग्रिड व्यू में प्राप्त करने और इसे एमपीडीएफ एक्सटेंशन में पास करने की आवश्यकता होती है।

यहाँ मेरी दृश्य फ़ाइल का हिस्सा है

<h5>Details of Education Qualification</h5>
<?php
echo Html::a('<i class="fa far fa-hand-point-up"></i> Print', ['/pdfrpt/report'], [
    'class'=>'btn btn-danger', 
    'target'=>'_blank', 
    'data-toggle'=>'tooltip', 
    'title'=>'Will open the generated PDF file in a new window'
]);
?>

<?php Pjax::begin(); ?>
    <?php // echo $this->render('_search', ['model' => $searchModel]); ?>
    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],

        'EmpNo',
        ['attribute'=> 'nameWithInitial',
          'label' => 'Name',
            'value' =>'empNo.nameWithInitial',],

और इस तरह मैं पीडीएफ को कॉल करता हूं (पीडीएफआरपीटी नियंत्रक में रिपोर्ट कार्रवाई)

     public function actionReport() {
        Yii::$app->response->format = \yii\web\Response::FORMAT_RAW;
        $pdf = new Pdf([
            'mode' => Pdf::MODE_CORE, 
            'destination' => Pdf::DEST_BROWSER,
            'content' => $this->renderPartial('test'),// here  I need to specify current grid view data
            'options' => [

            ],
            'methods' => [
                'SetTitle' => 'Report title',
                'SetSubject' => 'Generating PDF files via yii2-mpdf extension has never been easy',
                'SetHeader' => ['report title||Generated On: ' . date("r")],
                'SetFooter' => ['|Page {PAGENO}|'],
                'SetAuthor' => '',
                'SetCreator' => '',
                'SetKeywords' => ' ',
            ]
        ]);
        return $pdf->render();
    }
0
noc_nokout 21 जिंदा 2020, 13:30

1 उत्तर

सबसे बढ़िया उत्तर

आपने पेजिनेशन झूठा इस्तेमाल किया है अन्यथा यह पहले पेज के लिए डेटा देगा।

  // create the data provider by configuring its pagination and sort properties
    $provider = new XyzDataProvider([
        'pagination' => [...],
        'sort' => [...],
    ]);

    // retrieves paginated and sorted data
    $models = $provider->getModels();

    // get the number of data items in the current page
    $count = $provider->getCount();

    // get the total number of data items across all pages
    $totalCount = $provider->getTotalCount();
0
Amitesh Kumar 21 जिंदा 2020, 13:41