我想在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的格式显示数据库中的数据,并确定其中包含分页的行和列号???
谢谢;)
答案 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}'],
],
]); ?>