Yii Framework 开发教程Zii组件-ListView 示例_PHP教程

WBOY
풀어 주다: 2016-07-14 10:07:38
원래의
755명이 탐색했습니다.

CListView可以用来显示列表,CListView支持使用自定义的View模板显示列表的的记录,因此可以非常灵活的显示数据的表,这点有点像Android的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,
));
}
 
 
 
显示结果如下:
 
 
201212128004

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477838.htmlTechArticleCListView可以用来显示列表,CListView支持使用自定义的View模板显示列表的的记录,因此可以非常灵活的显示数据的表,这点有点像Android的Li...
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿