程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Yii Framework 開發教程Zii組件-ListView 示例

Yii Framework 開發教程Zii組件-ListView 示例

編輯:關於PHP編程

CListView可以用來顯示列表,CListView支持使用自定義的View模板顯示列表的的記錄,因此可以非常靈活的顯示數據的表,這點有點像Android的ListView:-)。   CListView 支持分頁和排序,分頁和排序支持使用AJAX實現從而可以提高頁面的響應性能。CListView的使用需要通過DataProvider,通常是使用CActiveDataProvider。   本例修改Yii Framework 開發教程(26) 數據庫-Active Record示例,不過為了顯示分頁,我們使用Customer數據庫表,每頁顯示10條記錄。   修改缺省的視圖protected/views/site/index.php,使用ListView組件。     [php]   <?php $this->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',                   ),   )); ?>     <?php $this->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]   <div class="item">      <h3><?php echo CHtml::encode($data->FirstName . ' ' . $data->LastName);?></h3>      <b><?php echo CHtml::encode($data->getAttributeLabel('Company')); ?>:</b>   <?php echo CHtml::encode($data->Company); ?>   <br />      <b><?php echo CHtml::encode($data->getAttributeLabel('Address')); ?>:</b>   <?php echo Yii::app()->format->formatUrl($data->Address); ?>   <br />      <b><?php echo CHtml::encode($data->getAttributeLabel('Country')); ?>:</b>   <?php echo CHtml::encode($data->Country); ?>   <br />      <b><?php echo CHtml::encode($data->getAttributeLabel('Email')); ?>:</b>   <?php echo Yii::app()->format->formatEmail($data->Email); ?>   <br />      </div>     <div class="item">   <h3><?php echo CHtml::encode($data->FirstName . ' ' . $data->LastName);?></h3>   <b><?php echo CHtml::encode($data->getAttributeLabel('Company')); ?>:</b> <?php echo CHtml::encode($data->Company); ?> <br />   <b><?php echo CHtml::encode($data->getAttributeLabel('Address')); ?>:</b> <?php echo Yii::app()->format->formatUrl($data->Address); ?> <br />   <b><?php echo CHtml::encode($data->getAttributeLabel('Country')); ?>:</b> <?php echo CHtml::encode($data->Country); ?> <br />   <b><?php echo CHtml::encode($data->getAttributeLabel('Email')); ?>:</b> <?php echo Yii::app()->format->formatEmail($data->Email); ?> <br />   </div>   然後修改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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved