0

我是 yii 的新手,使用 subform 和 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

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

4

2 回答 2

0

"modelDetail"=>$modelDetail我假设它没有定义。实际上,它应该进行一些更正:

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

  2. 如果要在 gridview 中使用外部变量,则需要导入它。也可以更好地使用功能:

'value' => function ($data,$row) 使用 $modelDetail {$this->renderPartial('_subjurnal', array("modelDetail"=>$modelDetail), true);},

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

于 2013-08-05T06:36:25.303 回答
0

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

之后,如果您遇到 javascript 问题,请尝试将此行放在“inside_journal.php”视图的最后:

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

在 array() 中放置两次充电的库。

于 2013-08-05T08:08:56.150 回答