2011-10-21 96 views
4

我已經建立CGridView菜單,我要永遠顯示尋呼機
(即使它顯示所有的數據,不需要導航)
這是當前的代碼,我有:
總是在CGridView上顯示傳呼機?

$this->widget('zii.widgets.grid.CGridView', 
     array('dataProvider'=>$search, 
       'columns' => $columns, 
       'itemsCssClass' => 'list_table', 
       'template' => '{pager}{summary}{items}', 
       'pager' => array(
        'cssFile'=>false, 
        'class'=>'CLinkPager', 
        'firstPageLabel' => '<<', 
        'prevPageLabel' => '<', 
        'nextPageLabel' => '>', 
        'lastPageLabel' => '>>', 
        'header' => '', 
        'footer' => $footer_btns, 
       ), 
       'pagerCssClass' => 'pagination', 
      )); 

回答

1

你可以通過重寫renderPager()方法做到這一點 - 但是,似乎尋呼機被放在一起的幾個文件,這樣一種方式只覆蓋一類將做到這一點:

覆蓋zii.widgets.grid.CGridView添加您的自定義renderPager()方法類似於:

Yii::import('zii.widgets.grid.CGridView'); 
class MyGrid extends CGridView { 
    public function renderPager() { ... } 
} 

默認的renderPager()函數是here

你想要做的是,尋找最適合尋呼機內容測試線:

if($pager['pages']->getPageCount()>1) { 

,改變了「其他」語句來把你的默認「空」的尋呼機的內容,這可以使用相同的<ul>結構。由於您沒有爲空白視圖提供任何導航,因此如果在多個位置使用該數據,則無需擔心該數據。這看起來像這樣:

else { 
     echo '<div class="'.$this->pagerCssClass.'">'; 
     ## YOUR CUSTOM "EMPTY PAGER" HTML HERE ## 
     echo '</div>'; 
    } 

您可能還需要定義一些額外的CSS類。在只顯示部分分頁的頁面上(例如第一頁和最後一頁),可以使用CSS重新定義「.hidden」類。

+0

如何在分頁中使用CListPager和CLinkPager,是否有任何參數,或者在renderPager()函數中調用它。以及如何擺脫CLinkPager的「轉到頁面:」標籤。 –

相關問題