首先,这里我们在表中有更多的记录,因此我们希望在页面中添加分页,代码如下所示
public function actionCompany()
{
$model = new CompanyProfile();
$criteria1 = new CDbCriteria();
$criteria1->addCondition('cmpny_profile_id=-1');
$dataProvidernew= new CActiveDataProvider('CompanyProfile',array(
'criteria'=>$criteria1,'pagination'=>array('pageSize'=>10),
));
if(isset($_POST['CompanyProfile'])){
$criteria = new CDbCriteria();
$model->cmpny_profile_name = $_POST['CompanyProfile']['cmpny_profile_name'];
if(!empty($model->cmpny_profile_name))
{
$criteria->addSearchCondition('cmpny_profile_name', $model->cmpny_profile_name);
}
$dataProvidernew= new CActiveDataProvider('CompanyProfile',array(
'criteria'=>$criteria,'pagination'=>array('pageSize'=>10),
));
}
$this->render('company',array('model'=>$model,'dataProvider'=>$dataProvidernew));
}现在,在加载页面时,不会显示任何记录,我们在提交表单时将在page.So中提交一个表单,代码将显示前10条记录。当我们点击第二个分页链接时,不会显示任何记录。
我的问题是,在单击分页的第二个链接时,表单是提交的,但是值$model->cmpny_profile_name是空的,所以代码必须显示10个记录,而不是显示单个记录,为什么?请提前通知我们reason.Thanks。
发布于 2019-06-29 06:18:03
首先,带分页的Cactivedataprovider不加载页面,分页与ajax.So一起工作,如果您在if条件下回送代码,您可以通过ajax检查--没有数据将在单击分页的第二个链接上是displayed.So,带有分页的同一页将被加载ajax,并且cmpny_profile_id=-1条件将被应用,并且没有提交表单,因此不会显示任何数据。
https://stackoverflow.com/questions/56815417
复制相似问题