2014-09-22 22 views
2
CArrayDataProvider Object 
(
    [keyField] => 
    [rawData] => Array 
     (
      [24] => Array 
       (
        [ids] => 24 
        [name] => trillia 
       ) 

      [25] => Array 
       (
        [ids] => 25 
        [name] => ahestina 
       ) 

      [28] => Array 
       (
        [ids] => 28 
        [name] => piyas 
       ) 

      [59] => Array 
       (
        [ids] => 59 
        [name] => sitesrs 
       ) 

      [60] => Array 
       (
        [ids] => 60 
        [name] => simons 
       ) 

      [70] => Array 
       (
        [ids] => 70 
        [name] => Mahesh Raj 
       ) 

      [71] => Array 
       (
        [ids] => 71 
        [name] => kathetrine 
       ) 

      [72] => Array 
       (
        [ids] => 72 
        [name] => babig 
       ) 

      [73] => Array 
       (
        [ids] => 73 
        [name] => symons 
       ) 



     ) 

    [caseSensitiveSort] => 1 
    [_id:CDataProvider:private] => 
    [_data:CDataProvider:private] => 
    [_keys:CDataProvider:private] => 
    [_totalItemCount:CDataProvider:private] => 
    [_sort:CDataProvider:private] => 
    [_pagination:CDataProvider:private] => CPagination Object 
     (
      [pageVar] => page 
      [route] => 
      [params] => 
      [validateCurrentPage] => 1 
      [_pageSize:CPagination:private] => 10 
      [_itemCount:CPagination:private] => 0 
      [_currentPage:CPagination:private] => 
      [_e:CComponent:private] => 
      [_m:CComponent:private] => 
     ) 

    [_e:CComponent:private] => 
    [_m:CComponent:private] => 
) 

來填充CGridView,使用在視圖文件中的下面的代碼使用CArrayDataProvider從上述陣列I填充cgridview在Yii中

<?php 
          $this->widget('zii.widgets.grid.CGridView', array(
           'id'=>'unen-custom-module-grid', 
           'dataProvider'=>$unenrollProvider, 
           //'dataProvider'=>Yii::app()->globals->getUsersByStandardnSection(1,3), 
           'itemsCssClass'=>'table table-striped flip-scroll', 
           'ajaxUpdate'=>true, 
           'template'=>'{summary}{pager}{items}{summary}{pager}', 
           'pager'=>array(
           'header'   => '', 
           'firstPageLabel' => '&lt;&lt;', 
           'prevPageLabel' => 'PREVIOUS', 
           'nextPageLabel' => 'NEXT', 
           'lastPageLabel' => '&gt;&gt;', 
           ), 
           // 'selectableRows' => 2, 
           'columns'=>array(
            array(
            'header'=>'#', 
            'value'=>'++$row', 
            'htmlOptions'=>array(
            'style'=>'width:50px;' 
            ) 
           ), 
            'name', 
            array(
            'id' => 'unselectedIds', 
           // 'name' => 'ids', 
            'selectableRows' => 2, 
            'class' => 'CCheckBoxColumn', 
            //'value'=>'$this->ids' 
           ), 
           ), 
          )); 
          ?> 

其工作正常,但每當我點擊分頁的cgridview是自動隱藏,即時不使用此模型 - $>搜索(),

回答

1

每次cgridview分頁只發送get請求,如果你不能一次又一次地填充cgrid的表單數據,所以嘗試在session中存儲值並訪問它,我希望它對你有用,嘗試一下

0

CGridView需要通過CActiveDataProvider返回的結果,請儘量使用CActiveDataProvider

做到這一點在你的搜索方法,在相應的模型210
+0

hi @ sprytechies,即時通過此頁作爲參考http://queirozf.com/entries/using-carraydataprovider-to-populate-a-cgridview-in-yii,無論如何解決分頁問題,​​而不使用$模型 - > search() – 2014-09-22 06:49:16

+0

@sprytechies根本不是這樣。 'CGridView'需要'CDataProvider'。這實際上可以是Yii中的任何數據提供者。儘管如此,CActiveDataProvider確實允許高級功能,例如過濾和搜索。 – DaSourcerer 2014-09-23 07:12:55

0

認爲由於沒有在數據提供程序中指定keyField,因此您遇到問題。創建數據提供程序實例時嘗試array('keyField'=>'ids)。另見this answer