我想在第二年改变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的格式显示数据库中的数据,并确定其中的分页行数和列数?
谢谢;)
发布于 2017-08-07 12:55:27
GridView用于以表格的形式显示数据。你要找的是ListView。
这就像GridView一样支持分页,你也可以使用数据提供程序。使用ListView,您可以将自己的“每个元素视图”设置为您喜欢的任何内容。
请参阅Guide上的文章。
发布于 2017-08-14 18:09:44
请参考下面的示例。我希望它能对你有所帮助。
<?= 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}'],
],
]); ?>https://stackoverflow.com/questions/45539593
复制相似问题