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

2025-05-29 0 60

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

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

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

?

1

2

3

4

5

6

7

8

9

10

11
public function actionIndex() {

$dataProvider = new ActiveDataProvider([

'query' => Diary::find()->orderBy('day'),

'pagination' => [//分页

'pagesize' => 4

]

]);

return $this->render('index', [

'dataProvider' => $dataProvider

]);

}

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27
<?= ListView::widget([

'dataProvider' => $dataProvider,//数据提供器

'itemView' => '_diary',//指定item视图(该视图文件与当前视图在同一个目录下)

'viewParams' => [//传参数给每一个item

'moodCfg' => Mood::getAll()

],

'layout' => '{items}<div class="col-lg-12 sum-pager">{summary}{pager}</div>',//整个ListView布局

'itemOptions' => [//针对渲染的单个item

'tag' => 'div',

'class' => 'col-lg-3'

],

/*

'options' => [//针对整个ListView

'tag' => 'div',

'class' => 'col-lg-3'

],

*/

'pager' => [

//'options' => ['class' => 'hidden'],//关闭分页(默认开启)

/* 分页按钮设置 */

'maxButtonCount' => 5,//最多显示几个分页按钮

'firstPageLabel' => '首页',

'prevPageLabel' => '上一页',

'nextPageLabel' => '下一页',

'lastPageLabel' => '尾页'

]

]);?>

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30
<div class="item">

<h4 style="font-weight:bold"><?= Html::encode($model->title ? $model->title : '(无题)') ?></h4>

<p style="font-size:13px">

<span style="color:orangered"><?= date('Y.m.d', $model->day) ?></span><br>

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

</p>

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

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

</div>

<p class="info">

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

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

</p>

<div style="text-align:right">

<?= Html::a('<span class="glyphicon glyphicon-eye-open"></span>', ['view', 'id' => $model->id], ['title' => '查看']) ?>

<?= Html::a('<span class="glyphicon glyphicon-pencil"></span>', ['upcreate', 'id' => $model->id], ['title' => '修改']) ?>

<?= Html::a('<span class="glyphicon glyphicon-trash"></span>', ['delete', 'id' => $model->id], [

'title' => '删除',

'data' => [

'confirm' => '您确定真的要删除 '.date('Y年m月d日', $model->day).' 的日记吗?',

'method' => 'post',

]

]) ?>

</div>

</div>

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

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

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

原文链接:http://www.cnblogs.com/wujuntian/p/7424074.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Yii2框架之ListView小部件的使用方法 https://www.kuaiidc.com/93674.html

相关文章

发表评论
暂无评论