0

$model1、$model2、および OwnerID をコントローラーに入力し、zii.widgets.grid.CGridView のデータをレンダリングします

$this->render('listView', array('model1'=>$model, 'model2' => $model2, 'OwnerID' => 14));

そして私が持っているビューで:

$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'listKeys',
    'dataProvider'=>$model1->search($OwnerID),
    'summaryText'=>'Showing {start} to {end} of {count} keys.',
    'columns'=>array(
        array('value'=>'$data["id"]', 'header'=>'Key ID'),
        array(
            'type'=>'raw',
            'header'=>'Edit',
            'value'=>'CHtml::dropDownList("partyList","owner_party_id", $model2)'
        ),
    ),
));

Undefined variable: model2 " There is data in $model2 、グリッド内のドロップダウンをコメントアウトし、グリッドの外側にドロップダウンリストを次のように配置すると、次のようになります。

<?php echo CHtml::dropDownList("partyList","owner_party_id", $model2) ?>

その後、すべて正常に動作します。CGridView に dropDownList を追加するにはどうすればよいですか? $model1 はファイルのリストで、$model2 はユーザーのリストです。

4

1 に答える 1

0

$model2によって認識される文字列または変数である必要がありますCGridView

配列の文字列表現を取得するには、次を使用しますvar_export()

...
'value'=>'CHtml::dropDownList("partyList","owner_party_id",'.var_export($model2).')',
...

変数を作成$model2するには、この Yii wiki ページで説明されているようCGridViewに拡張する必要がありますCGridView

于 2013-03-27T21:44:18.603 に答える