Yii Framework 开发教程Zii组件-ListView 示例
CListView 支持分页和排序,分页和排序支持使用AJAX实现从而可以提高页面的响应性能。CListView的使用需要通过DataProvider,通常是使用CActiveDataProvider。
本例修改Yii Framework 开发教程(26) 数据库-Active Record示例,不过为了显示分页,我们使用Customer数据库表,每页显示10条记录。
修改缺省的视图protected/views/site/index.php,使用ListView组件。
[php]
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',
),
)); ?>
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 ,定义如下:
[php]
FirstName . ' ' . $data->LastName);?>
getAttributeLabel('Company')); ?>:
Company); ?>
getAttributeLabel('Address')); ?>:
format->formatUrl($data->Address); ?>
getAttributeLabel('Country')); ?>:
Country); ?>
getAttributeLabel('Email')); ?>:
format->formatEmail($data->Email); ?>
FirstName . ' ' . $data->LastName);?>
getAttributeLabel('Company')); ?>:
Company); ?>
getAttributeLabel('Address')); ?>:
format->formatUrl($data->Address); ?>
getAttributeLabel('Country')); ?>:
Country); ?>
getAttributeLabel('Email')); ?>:
format->formatEmail($data->Email); ?>
然后修改SiteController的indexAction方法:
[php]
public function actionIndex()
{
$dataProvider=new CActiveDataProvider('Customer', array(
'pagination'=>array(
'pageSize'=>10,
'pageVar'=>'page',
),
'sort'=>array(
'defaultOrder'=>'Lastname',
),
));
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}
public function actionIndex()
{
$dataProvider=new CActiveDataProvider('Customer', array(
'pagination'=>array(
'pageSize'=>10,
'pageVar'=>'page',
),
'sort'=>array(
'defaultOrder'=>'Lastname',
),
));
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}
显示结果如下:
上一篇: favicon 不只是个图标
推荐阅读
-
PHP开发框架Yii Framework教程(17) UI 组件 TabView示例
-
PHP开发框架Yii Framework教程(18) UI 组件 TextHighlighter示例
-
PHP开发框架Yii Framework教程(16) UI 组件 StarRating示例
-
PHP开发框架Yii Framework教程(19) UI 组件 TreeView示例
-
PHP开发框架Yii Framework教程(15) UI 组件 MultiFileUpload示例
-
PHP开发框架Yii Framework教程(37) Zii组件-Dialog示例
-
Yii Framework 开发教程Zii组件-Menu 示例_PHP教程
-
PHP开发框架Yii Framework教程(20) UI组件 Captcha示例
-
PHP开发框架Yii Framework教程(14) UI 组件 MaskedTextField示例
-
PHP开发框架Yii Framework教程(38) Zii组件-ProgressBar示例