yii - 如何使用 Yii CGridView 在 2 行中显示单个记录?

标签 yii frameworks

我在 Yii 中使用 CGridView,如何在 2 行中显示一条记录?

基本上我想在表格的第一行和另一行显示记录的详细信息我想显示它的摘要,我用 div 和 css 试过但不能得到正确的结果,有没有人可以帮助我这种情况?

我是这样使用的:

<?php 

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'bidding-grid',
'itemsCssClass' => 'data-default',
'dataProvider'=>$model,
'summaryText' => '',
'columns'=>array(
    'people_detail_for_bid.Person' => array(
                        'type'=>'raw',
                        'name'=>'people_detail_for_bid.Person',
                        'value'=>'Yii::app()->Controller->createUserNameLink($data->people_detail_for_bid->PeopleFirstName." ".$data->people_detail_for_bid->PeopleLastName, $data->people_detail_for_bid->PeopleId).
                        "<br><span class=decriptionText>".$data->people_detail_for_bid->PeopleDesignation."</span>".
                        "<br><span class=decriptionText>".$data->people_detail_for_bid->PeopleEmail."</span>"',
                        'htmlOptions'=>array('width'=>200),
    ),
    'timeAgo' => array(
                        'type'=>'raw',
                        'name'=>'timeAgo',
                        'value'=>'"<span class=decriptionText>".Yii::app()->Controller->_ago($data->PBPostedOn)."</sapn>"',
                        'htmlOptions'=>array('width'=>150),
    ),

),

)); 

?>

最佳答案

我认为实现这一点的最好和最干净的方法是创建一个新的扩展并将其扩展到 CGridView,像这样重写 renderTableRow 函数:

/**
 * Renders a table body row.
 * @param integer $row the row number (zero-based).
 */
public function renderTableRow($row)
{
    if($this->rowCssClassExpression!==null)
    {
        $data=$this->dataProvider->data[$row];
        echo '<tr class="'.$this->evaluateExpression($this->rowCssClassExpression,array('row'=>$row,'data'=>$data)).'">';
    }
    else if(is_array($this->rowCssClass) && ($n=count($this->rowCssClass))>0)
        echo '<tr class="'.$this->rowCssClass[$row%$n].'">';
    else
        echo '<tr>';

    $colCtr = 0;
    foreach($this->columns as $column){
        $column->renderDataCell($row);
        $colCtr++;
    }

    echo "</tr>\n";
    echo "<tr><td colspan=\"$colCtr\">This is the summary row. </td></tr>";
}

关于yii - 如何使用 Yii CGridView 在 2 行中显示单个记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9817614/

相关文章:

yii - 服务器数据库更改后自动刷新 yii2 网格

mysql - 将 MS Excel 和/或 MS Access 与 AWS RDS 连接

ruby-on-rails - 支持复杂嵌套形式的框架 ala Rails 的 accepts_nested_attributes_for?

yii 如何在queryall中选择日期范围

yii - 如何在yii中显示登录用户的属性

php - 如何在 Yii 中设置带有页面标题的站点名称

javascript - 使用站点范围与本地页面脚本时可能存在 JavaScript 框架版本冲突

php - 将按钮登录更改为登录后注销 o 导航栏引导

html - 如何正确覆盖 CSS 框架 (MDL) 中的样式

java - Java 的 GUI 框架