如何在yii2中更改Gridview格式?

时间:2017-08-07 04:49:06

标签: php gridview yii yii2 frameworks

我想在Yii 2中更改GridView的显示格式。例如,我希望有一些行和列的数据,如互联网市场显示产品。 例如,在每一行中我想要4-5种产品.. 以下是默认情况下使用GridView的示例。

    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],

            'id',
            'sim_num',
            'network',
            'twog_network',
            'threeg_network',
            // 'fourg_network',
            // 'bady_struct',
            // 'process',
            // 'other:ntext',
            // 'os',
            // 'gesture',
            // 'items',
            // 'speaker',

            ['class' => 'yii\grid\ActionColumn'],
        ],
    ]); ?>

如何以表格html的格式显示数据库中的数据,并确定其中包含分页的行和列号???

谢谢;)

2 个答案:

答案 0 :(得分:2)

GridView用于以表格格式显示数据。您要找的是ListView

这就像GridView一样支持分页,你也使用数据提供程序。使用ListView,您可以设置自己的&#34;每个元素视图&#34;无论你喜欢什么。

请参阅Guide中的文章。

答案 1 :(得分:0)

参考下面的例子。我希望它会对你有所帮助。

 <?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'layout'=>"{items}\n{summary}\n{pager}",
    'options' => ['style' => 'overflow-x:scroll;width:100%'],
    'columns' => [
        [
            'class' => 'yii\grid\CheckboxColumn',
            'checkboxOptions' => function($model, $key, $index, $column) {
                return ['value' => $model->who_we_are_id];
            }
        ],

        [
            'attribute' => 'language_id',
            'label' => 'Language',
            'value' => 'languages.name',
        ],
        // 'description',

        [
            'attribute'=>'image',
            'label' => 'Image',
            'content'=>function($data){
                $web_path =  Yii::getAlias('@webroot');
                if(file_exists($web_path."/images/who_we_are/".$data->image) && !empty($data->image)){

                    $url = \Yii::$app->request->BaseUrl.'/images/who_we_are/'.$data->image;
                    return Html::img($url,["width"=>"50px","height"=>"50px"]);
                }
            }
        ],
        'url',
        [
            'attribute'=>'created_on',
            'label' => 'Date & Time',
            'content'=>function($data){
                if($data->created_on != '')
                    return date("m-d-Y H:i:s",strtotime($data->created_on));
            }
        ],  

        ['class' => 'yii\grid\ActionColumn','template' => '{update}'],
    ],
]); ?>