在CButtonColumn中添加ID属性不起作用

时间:2013-01-03 03:31:10

标签: php yii cgridview cbuttoncolumn

<?php 
        $this->widget('zii.widgets.grid.CGridView', array(
            'id'=>'material-logs-grid',
            'dataProvider'=>$materialLogSearch->search(),
            'filter'=>$materialLogSearch,
            'ajaxUpdate'=> true,
            'columns'=>array(
                'po_number',
                'qty_ordered',
                array(
                    'name'=>'price',
                    'value'=>'number_format($data->price,2)',
                    'type'=>'raw'
                ),
                array(
                    'name'=>'price',
                    'header'=>'Amount',
                    'value'=>'number_format($data->price*$data->qty_ordered,2)',
                    'type'=>'raw'
                ),
                'date_ordered',
                'note',
                array(
                    'class'=>'CButtonColumn',
                    'template'=>'{update}{delete}',
                    'buttons'=>array(
                        'update'=>array(
                            'options'=>array(
                                'id'=>"myID-$data->idMaterial_logs",
                            ),
                        ),
                    ),
                    'updateButtonUrl'=>"Yii::app()->createUrl(\"materialLogs/update\",array(\"id\"=>\$data->idMaterial_logs,\"pid\"=>\"$project_details->idProject\",\"mid\"=>\$data->idMaterials))",
                    'deleteButtonUrl'=>'Yii::app()->createUrl("/materialLogs/delete",array("id"=>$data->idMaterial_logs))',
                ),
            ),
        ));
        ?>

我收到此错误

Undefined variable: data 

此行发生错误:

'id'=>"myID-$data->idMaterial_logs",

在CButtonColumn上添加ID属性的正确方法是什么?我只是希望更新按钮具有自定义ID,其ID来自我的数据库($data->idMaterials);

所以例如: id应该是&#34; myID-1&#34;,1是idMaterial_logs的值,这就是我使用$ data-&gt; idMaterial_logs的原因,在这种情况下它不起作用。

您的帮助将受到高度赞赏和奖励!谢谢! :)

2 个答案:

答案 0 :(得分:0)

尝试删除myID

'id'=>"myID-$data->idMaterial_logs",  

'id'=>'$data->idMaterial_logs',

答案 1 :(得分:0)

问题是你使用的是双引号(“)而不是单引号(') 因此,该文件将在视图中查找$ data。那里不存在。

试试这个

<?php
'id' => '"myID-".$data->idMaterial_logs',