我是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'> </div>\n{items}\n<div>{pager}</div><div style='float:left;'>{summary}</div><div class='clear'> </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
这样做的正确方法是什么?对此的帮助将非常感激。
答案 0 :(得分:0)
"modelDetail"=>$modelDetail
我没假定它。实际上它应该只需要很少的修正:
列类型 - 使用'type'=>'raw'
如果要在gridview中使用外部变量,则需要导入它。用功能更好地做到这一点:
'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); ?>
在数组()中放入两次充电的库。