Yii2框架之ListView小部件的使用方法

ListView是yii框架中类似GridView,也是用于展示多条数据的小部件,相比GridView,ListView可以更加灵活地设置数据展示的格式。

下面以我自己做的一个使用ListView来展示数据的例子,来简单讲解一下ListView小部件的使用。

首先需要在控制器中new一个数据提供器,传给视图,示例代码如下:

Diary::find()->orderBy('day'),'pagination' => [//分页 'pagesize' => 4 ] ]); return $this->render('index',[ 'dataProvider' => $dataProvider ]); }

接下来就是在视图文件中使用ListView来展示数据了,示例代码如下:

rush:PHP;"> $dataProvider,//数据提供器 'itemView' => '_diary',//指定item视图(该视图文件与当前视图在同一个目录下) 'viewParams' => [//传参数给每一个item 'moodCfg' => Mood::getAll() ],'layout' => '{items}
',//整个ListView布局 'itemOptions' => [//针对渲染的单个item 'tag' => 'div','class' => 'col-lg-3' ],/* 'options' => [//针对整个ListView 'tag' => 'div',*/ 'pager' => [ //'options' => ['class' => 'hidden'],//关闭分页认开启) /* 分页按钮设置 */ 'maxButtonCount' => 5,//最多显示几个分页按钮 'firstPageLabel' => '首页','prevPageLabel' => '上一页','nextPageLabel' => '下一页','lastPageLabel' => '尾页' ] ]);?>

这里说明一下,由于ListView和GridView继承于同一个父类BaseListView,所以有很多设置参数是一样的,可以通过参考GridView的参数设置来设置ListView。

最后就是在ListView的'itemView'参数指定的视图文件中来编写每一条数据的展示格式了,示例代码如下:

rush:xhtml;">
title ? $model->title : '(无题)') ?>

<p style="font-size:13px">
<span style="color:orangered"><?= date('Y.m.d',$model->day) ?>

<span style="color:#999">心情:<?= $moodCfg[$model->mood] ?>//这里访问ListView的'viewParams'参数传过来的参数$moodCfg

<div style="margin:15px 0">

<?php echo HtmlPurifier::process(mb_substr($model->content,25).'......'); ?>

<p class="info">
添加:<?= date('Y-m-d H:i:s',$model->created_at) ?>

最后修改:<?= date('Y-m-d H:i:s',$model->updated_at) ?>

<div style="text-align:right">
<?= Html::a('<span class="glyphicon glyphicon-eye-open">',['view','id' => $model->id],['title' => '查看']) ?>
<?= Html::a('<span class="glyphicon glyphicon-pencil">',['upcreate',['title' => '修改']) ?>
<?= Html::a('<span class="glyphicon glyphicon-trash">',['delete',[
'title' => '删除','data' => [
'confirm' => '您确定真的要删除 '.date('Y年m月d日',$model->day).' 的日记吗?','method' => 'post',]
]) ?>

最后的最后,效果图展示时间(略丑,勿怪):

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


服务器优化必备:深入了解PHP8底层开发原理
Golang的网络编程:如何快速构建高性能的网络应用?
Golang和其他编程语言的对比:为什么它的开发效率更高?
PHP8底层开发原理揭秘:如何利用新特性创建出色的Web应用
将字符重新排列以形成回文(如果可能)在C++中
掌握PHP8底层开发原理和新特性:创建高效可扩展的应用程序
服务器性能优化必学:掌握PHP8底层开发原理
PHP8新特性和底层开发原理详解:优化应用性能的终极指南
将 C/C++ 代码转换为汇编语言
深入研究PHP8底层开发原理:创建高效可扩展的应用程序
C++程序查找法向量和迹
PHP8底层开发原理实战指南:提升服务器效能
重排数组,使得当 i 为偶数时,arr[i] >= arr[j],当 i 为奇数时,arr[i] <= arr[j],其中 j < i,使用 C++ 语言实现
Golang的垃圾回收:为什么它可以减少开发人员的负担?
C++程序:将一个数组的所有元素复制到另一个数组中
Golang:构建智能系统的基石
为什么AI开发者应该关注Golang?
在C和C++中,逗号(comma)的用法是用来分隔表达式或语句
PHP8底层开发原理解析及新特性应用实例
利用PHP8底层开发原理解析新特性:如何构建出色的Web应用