如何在Yii框架中进行下拉分页?

如何在Yii框架中进行下拉分页?,yii,Yii,我想在yii框架中进行下拉分页,任何建议都会有帮助。提前感谢。您可以使用此代码 在你的控制下: public function actionAdmin(){ if (isset($_GET['pageSize'])) { Yii::app()->user->setState('pageSize',(int)$_GET['pageSize']); unset($_GET['pageSize']);} $model=new Packages('search

我想在yii框架中进行下拉分页,任何建议都会有帮助。提前感谢。

您可以使用此代码

在你的控制下:

 public function actionAdmin(){         
if (isset($_GET['pageSize'])) {
 Yii::app()->user->setState('pageSize',(int)$_GET['pageSize']);
 unset($_GET['pageSize']);}
    $model=new Packages('search');
    $model->unsetAttributes(); 
    if(isset($_GET['Packages']))
        $model->attributes=$_GET['Packages'];       
        $dataProvider=new CActiveDataProvider('Packages'); 
    $this->render('admin',array('model'=>$model,'dataProvider'=>$dataProvider,
    ));
}  
在模型搜索功能中使用

return new CActiveDataProvider(get_class($this),array(
            'pagination'=>array(
                'pageSize'=> Yii::app()->user->getState('pageSize',Yii::app()->params['defaultPageSize']),
            ),
            'criteria'=>$criteria,
    ));  
$pageSize=Yii::app()->user->getState('pageSize',Yii::app()->params['defaultPageSize']); 

echo CHtml::dropDownList('pageSize',$pageSize,array(10=>10,20=>20,50=>50,100=>100,500=>500,1000=>1000),array('onchange'=>"$.fn.yiiGridView.update('packages-grid',{ data:{pageSize: $(this).val() }})",'empty'=>'-- Select Page Range --','style'=>'width:198px;'));
在你看来,使用这个

return new CActiveDataProvider(get_class($this),array(
            'pagination'=>array(
                'pageSize'=> Yii::app()->user->getState('pageSize',Yii::app()->params['defaultPageSize']),
            ),
            'criteria'=>$criteria,
    ));  
$pageSize=Yii::app()->user->getState('pageSize',Yii::app()->params['defaultPageSize']); 

echo CHtml::dropDownList('pageSize',$pageSize,array(10=>10,20=>20,50=>50,100=>100,500=>500,1000=>1000),array('onchange'=>"$.fn.yiiGridView.update('packages-grid',{ data:{pageSize: $(this).val() }})",'empty'=>'-- Select Page Range --','style'=>'width:198px;'));

现在,在yii项目中实现了下拉分页。

您可以使用此代码

在你的控制下:

 public function actionAdmin(){         
if (isset($_GET['pageSize'])) {
 Yii::app()->user->setState('pageSize',(int)$_GET['pageSize']);
 unset($_GET['pageSize']);}
    $model=new Packages('search');
    $model->unsetAttributes(); 
    if(isset($_GET['Packages']))
        $model->attributes=$_GET['Packages'];       
        $dataProvider=new CActiveDataProvider('Packages'); 
    $this->render('admin',array('model'=>$model,'dataProvider'=>$dataProvider,
    ));
}  
在模型搜索功能中使用

return new CActiveDataProvider(get_class($this),array(
            'pagination'=>array(
                'pageSize'=> Yii::app()->user->getState('pageSize',Yii::app()->params['defaultPageSize']),
            ),
            'criteria'=>$criteria,
    ));  
$pageSize=Yii::app()->user->getState('pageSize',Yii::app()->params['defaultPageSize']); 

echo CHtml::dropDownList('pageSize',$pageSize,array(10=>10,20=>20,50=>50,100=>100,500=>500,1000=>1000),array('onchange'=>"$.fn.yiiGridView.update('packages-grid',{ data:{pageSize: $(this).val() }})",'empty'=>'-- Select Page Range --','style'=>'width:198px;'));
在你看来,使用这个

return new CActiveDataProvider(get_class($this),array(
            'pagination'=>array(
                'pageSize'=> Yii::app()->user->getState('pageSize',Yii::app()->params['defaultPageSize']),
            ),
            'criteria'=>$criteria,
    ));  
$pageSize=Yii::app()->user->getState('pageSize',Yii::app()->params['defaultPageSize']); 

echo CHtml::dropDownList('pageSize',$pageSize,array(10=>10,20=>20,50=>50,100=>100,500=>500,1000=>1000),array('onchange'=>"$.fn.yiiGridView.update('packages-grid',{ data:{pageSize: $(this).val() }})",'empty'=>'-- Select Page Range --','style'=>'width:198px;'));

现在,您的yii项目中实现了下拉分页。

您可以通过谷歌搜索来查找以下示例:您可以通过谷歌搜索来查找以下示例:我忘了提到过。还要在配置文件中指定页面参数。像这样<代码>'params'=>array('defaultPageSize'=>'10'),谢谢亲爱的,问题解决了,一些小问题,但我已经解决了,我也在做同样的事情,但我需要在同一个项目中为10个网格应用相同的代码。现在我的问题是,如果我将从下拉列表中选择任何值,那么将为所有网格设置选定值。你能帮我解决相同的改变页面大小与网格id像PageSizeMyGrid谢谢回复。在哪里换车?到处都是!我忘了提过。还要在配置文件中指定页面参数。像这样<代码>'params'=>array('defaultPageSize'=>'10'),谢谢亲爱的,问题解决了,一些小问题,但我已经解决了,我也在做同样的事情,但我需要在同一个项目中为10个网格应用相同的代码。现在我的问题是,如果我将从下拉列表中选择任何值,那么将为所有网格设置选定值。你能帮我解决相同的改变页面大小与网格id像PageSizeMyGrid谢谢回复。在哪里换车?到处都是!