---------------------- Listing Page ---------------------- $sort = new EDTSort('Jobs', $columns); $sort->defaultOrder = 'job_created_date DESC'; /* $sort->attributes = array( 'client_name'=>'client_name', 'created_on'=>'created_on', 'name' => array( 'asc'=>'EntityType.name', 'desc'=>'EntityType.name DESC', ), ); */ $pagination = new EDTPagination(); if (Yii::app()->getRequest()->getIsAjaxRequest()) { //echo "
";            print_r($criteria);
        }

        $dataProvider = new CActiveDataProvider('Jobs', array(
            'criteria' => $criteria,
            'pagination' => $pagination,
            'sort' => $sort,
        ));

        $columns = array(
            array('name' => 'jobName', 'header' => 'Job Name', 'value' => '$data["jobName"]'),
            array(
                'class' => 'ext.EDataTables.EButtonColumn',
                'template' => '{update} ',
                'header' => Yii::t('app', 'Documents'),
                'buttons' => array(
                    'view' => array(
                        'label' => 'View',
                        'imageUrl' => false,
                        'options' => array(
                            'class' => 'some-css-class-drawing-pretty-icons',
                        ),
                    ),
                    'update' => array(
                        'url'   => 'Yii::app()->createUrl("documents/viewdocs/", array("id"=>$data->job_id))',
                        'label' => '
View Documents
', 'htmlClass' => '', 'icon' => '', 'imageUrl' => false, 'click' => 'function(e) { $("#viewDocuments").remove(); e.preventDefault(); var $this = $(this) , $remote = $this.data("remote") || $this.attr("href") , $modal = $("
theme->baseUrl. '/images/sr-loading.gif\'>
"); $("body").append($modal); $modal.modal({backdrop: "static", keyboard: false}); $modal.load($remote); $modal.on("hidden.bs.modal", function () { $("#viewDocuments").remove(); }); }', 'options' => array( 'class' => 'viewdocs', 'title' => '', 'data-toggle'=>"viewDocuments", 'data-target'=>"#uploadDocs" ), ), ), ), array( 'class' => 'ext.EDataTables.EButtonColumn', 'template' => '{update} ', 'header' => Yii::t('app', 'Upload Document'), 'buttons' => array( 'view' => array( 'label' => 'View', 'imageUrl' => false, 'options' => array( 'class' => 'some-css-class-drawing-pretty-icons', ), ), 'update' => array( 'url' => 'Yii::app()->createUrl("documents/ajaxupload/", array("id"=>$data->job_id))', 'label' => '
', 'htmlClass' => '', 'icon' => '', 'imageUrl' => false, 'click' => 'function(e) { $("#ajaxModal").remove(); e.preventDefault(); var $this = $(this) , $remote = $this.data("remote") || $this.attr("href") , $modal = $("
theme->baseUrl. '/images/sr-loading.gif\'>
"); $("body").append($modal); $modal.modal({backdrop: "static", keyboard: false}); $modal.load($remote); }', 'options' => array( 'class' => 'a', 'title' => '', 'data-toggle'=>"ajaxModal", 'data-target'=>"#uploadDocs" ), ), ), ), ); $widget = $this->createWidget('ext.EDataTables.EDataTables', array( 'id' => 'jobs-grid-docs', 'dataProvider' => $dataProvider, 'ajaxUrl' => Yii::app()->createUrl('jobs/document'), 'columns' => $columns, 'buttons' => array('refresh'=>NULL), 'htmlOptions'=>array('class'=>''), ) ); //echo "
";           print_r($widget);exit;

        if (!Yii::app()->getRequest()->getIsAjaxRequest()) {
            $this->render('document', array('widget' => $widget,));
            return;
        } else {
            //echo "
";print_r($widget);
            echo json_encode($widget->getFormattedData(intval($_REQUEST['sEcho'])));
            Yii::app()->end();
        }

------------------------------------------------------
Popup Grid is below
------------------------------------------------------
if (Yii::app()->getRequest()->getIsAjaxRequest()) {
            $this->layout = '//jobtracker/layouts/ajax';
        }
        $model = new Jobs();
        $jobData = $model->findAll('job_id=' . $id);
//        echo "
";
//        print_r($jobData);
//        exit;
        $jobData[0]->jobName = $model->generateJobName($jobData[0]);

        $model = new Documents();
        $columns = array(
            'id',
            'document_title',
            'upload_date',
        );

        $criteria = new CDbCriteria;
        $criteria->with = array('Jobs');
        $criteria->together = true;
        $criteria->compare('t.job_id', $id, false, 'AND');

        if (isset($_REQUEST['sSearch']) && isset($_REQUEST['sSearch']{0})) {
            $criteria1 = new CDbCriteria;
            $criteria1->compare('t.document_title', $_REQUEST['sSearch'], true, 'OR');
            $criteria1->compare('upload_date', date('Y-m-d', strtotime(str_replace("/", "-", $_REQUEST['sSearch']))), true, 'OR');
            $criteria->mergeWith($criteria1);
        }

        $sort = new EDTSort('Documents', $columns);
        $sort->defaultOrder = 'upload_date DESC';
        $pagination = new EDTPagination();

        $dataProvider = new CActiveDataProvider('Documents', array(
            'criteria' => $criteria,
            'pagination' => $pagination,
            'sort' => $sort,
        ));

        $columns = array(
            array('name' => 'doc', 'header' => 'Documents', 'value' => '$data->document_title'),
            array('name' => 'upload_date', 'header' => 'Upload Date', 'value' => 'date("d/m/Y",strtotime($data->upload_date))'),
            array(
                'class' => 'ext.EDataTables.EButtonColumn',
                'template' => '{update} ',
                'header' => Yii::t('app', 'Download'),
                'buttons' => array(
                    'view' => array(
                        'label' => 'View',
                        'imageUrl' => false,
                        'options' => array(
                            'class' => 'some-css-class-drawing-pretty-icons',
                        ),
                    ),
                    'update' => array(
                        'url' => 'Yii::app()->createUrl("documents/download/", array("fileName"=>$data->file_path,"jobtype"=>strtolower($data->Jobs->job_genre)))',
                        'label' => '
', 'imageUrl' => false, 'options' => array( 'class' => '', ), ), ), ), ); $widget = $this->createWidget('ext.EDataTables.EDataTables', array( 'id' => 'document-grid', 'dataProvider' => $dataProvider, 'ajaxUrl' => Yii::app()->createUrl('documents/viewdocs',array('id'=>$id)), 'columns' => $columns, 'buttons' => array('refresh' => NULL), 'htmlOptions' => array('class' => ''), ) ); if (!isset($_REQUEST['sEcho'])) { $this->render('viewdocs', array( 'id' => $id, 'model' => $jobData[0], 'widget' => $widget )); return; } else { //echo "
";print_r($widget);
            echo json_encode($widget->getFormattedData(intval($_REQUEST['sEcho'])));
            Yii::app()->end();
        }