0
<?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は「myID-1」である必要があります。1はidMaterial_logsの値です。そのため、$ data-> idMaterial_logsを使用しますが、この場合は機能しませんでした。

あなたの助けは大いに感謝され、報われるでしょう!ありがとう!:)

4

2 に答える 2

0

問題は、一重引用符(')の代わりに二重引用符( ")を使用していることです。このため、ファイルはビュー内で$dataを検索します。そこには存在しません。

これを試して

<?php
'id' => '"myID-".$data->idMaterial_logs', 
于 2013-01-03T12:41:25.240 に答える
0

myID を削除してみてください

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

することが

'id'=>'$data->idMaterial_logs',
于 2013-01-03T07:38:25.863 に答える