yii在gridview值中插入子表单/子页面

时间:2013-08-04 09:57:23

标签: gridview yii renderpartial subform

我是yii的新手,并且难以使用子表单和gridview。 我想用这些表创建一个简单的会计日记帐:

t_journal
---------
id_journal
dates

t_journal_detail
----------------
id
id_journal
journal_code
journal_name
desc
debit_value
credit_value

我想为此使用两个gridview,一个用于t_journal,另一个用于t_journal_detail,它位于t_journal gridview中,如下所示:

$this->widget( 'bootstrap.widgets.TbGridView', array(
    'id'             => 'jurnal-harian-grid',
    'template'       => "<div>{pager}</div><div style='float:left;'>{summary}</div><div class='clear'>&nbsp;</div>\n{items}\n<div>{pager}</div><div style='float:left;'>{summary}</div><div class='clear'>&nbsp;</div><br/>",
    'dataProvider'   => $model->search(),
    'columns'        => array(
        array(
            'name'   => 'id_journal',
            'header' => 'ID',
        ),
        array(
            'name'   => 'dates',
            'header' => 'Date',
            'value'  => 'date("d-m-Y",strtotime($data["dates"]))',
        ),
        array(
            'header' => 'Details',
            'value'  => $this->renderPartial('_subjurnal', array("modelDetail"=>$modelDetail), true),
        ),
    ),
) );

在_subjurnal.php中,我插入一个单词表,其中包含单词“Testing”

<table border="0">
    <tr>
        <td>Testing</td>
    </tr>
</table>

这是在gridview中插入另一个子窗体或子页面的正确方法吗?因为我在期刊gridview的每一行都收到错误:

Parse error: syntax error, unexpected '<' in D:\xampp\htdocs\cvsunrise\yii\framework\base\CComponent.php(616) : eval()'d code on line 1

这样做的正确方法是什么?对此的帮助将非常感激。

2 个答案:

答案 0 :(得分:0)

"modelDetail"=>$modelDetail我没假定它。实际上它应该只需要很少的修正:

  1. 列类型 - 使用'type'=>'raw'

  2. 如果要在gridview中使用外部变量,则需要导入它。用功能更好地做到这一点:

  3. 'value'=&gt; function($ data,$ row)使用$ modelDetail {$ this-&gt; renderPartial('_ subjurnal',array(“modelDetail”=&gt; $ modelDetail),true);},

    还要避免双重加载js脚本。

答案 1 :(得分:0)

@ineersa回答这是一个正确的解决方案。

之后,如果你有一个javascript问题,请尝试将此行放在“inside_journal.php”视图的最后一行:

    <?php Yii::app()->getClientScript()->scriptMap=array('jquery.js'=>false, 'jquery.ui.js'=>false); ?>

在数组()中放入两次充电的库。