clistview可以用来显示列表,clistview支持使用自定义的view模板显示列表的的记录,因此可以非常灵活的显示数据的表 ,这点有点像android的listview:-)。
clistview 支持分页和排序,分页和排序支持使用ajax实现从而可以提高页面 的响应性能。clistview的使用需要通过dataprovider,通常是使用cactivedataprovider。
本例修改yii framework 开 发教程(26) 数据库-active record示例,不过为了显示分页,我们使用customer数据库表,每页显示10条记录。
修改缺 省的视图protected/views/site/index.php,使用listview组件。
widget
('zii.widgets.clistview', array('dataprovider'=>$dataprovider,'ajaxupdate'=>false,
'template'=>'{sorter}{pager}{summary}{items}{pager}',
'itemview'=>'_view','pager'=>array('maxbuttoncount'=>'7',),
'sortableattributes'=>array('firstname','lastname','country',),)); ?>
参数template 配置页面显示的模板,支持的参数有 {summary}, {sorter}, {items} 和{pager},分别对应 于listview的汇总,排序,列表项,分页控制。
参数itemview 指明每个列表项对应的view显示。本例使用site/_view.php ,定义如下:
firstname . ' ' . $data->lastname);?>
getattributelabel('company')); ?>
:company); ?>
getattributelabel('address'));
?>:format->formaturl($data->address); ?>
getattributelabel('country')); ?>:country); ?>
getattributelabel('email')); ?>:
format->formatemail($data->email); ?>
然后修改sitecontroller的indexaction方法:
public function actionindex()
{
$dataprovider=new cactivedataprovider('customer', array(
'pagination'=>array(
'pagesize'=>10,
'pagevar'=>'page',
),
'sort'=>array(
'defaultorder'=>'lastname',
),
));
$this->render('index',array(
'dataprovider'=>$dataprovider,
));
}
显示结果如下:
以上就是php开发框架yii framework教程(30) zii组件-listview示例的内容。