在页脚中输入自定义列值的总和
网格视图代码
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'booking-grid',
'dataProvider'=>$model->search(),
'columns'=>array(
array(
'name'=>'name',
'header'=>'User Name',
'value'=>'$data->booking_id',
'filter'=>false,
'footer'=>'Total',
'footerHtmlOptions'=>array('class'=>'grid-footer'),
),
array(
'name'=>'id',
'header'=>'User Fee',
'value'=> array($model,'GetUserFee'),
'filter'=>false,
'footer'=>'' . $model->getTotal($model->search()->getData(), 'id'),
'footerHtmlOptions'=>array('class'=>'grid-footer'),
),
),
));
获取总计
public function getTotal($records,$colName){
$total = 0.0;
if(count($records) > 0){
foreach ($records as $record) {
$total += $record->$colName;
}
}
return number_format($total,2);
}
1.第二列的值是计算用户费用。
1.在页脚中,用户费用值的总和得到了错误的总和。它给出了用户ID的总和。而ID是表列名。
1.如何获得用户费用列值的总和
1条答案
按热度按时间jm2pwxwz1#
请尝试使用CGridView创建的
$data
变量,而不是使用id
的文字表示,该变量实际上是每个CGridView迭代中当前正在处理的$model
的当前记录。您的代码将为:
请注意,
type
属性的值设定为raw
。您甚至可以使用PHP函数并将
$data
变量传递给它,如下所示:有关更多信息,请查看special variables in Yii