带分页的 Cactivedataprovider
Cactivedataprovider with pagination
首先,这里table记录较多,所以想在页面中添加分页,代码如下
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 条记录。当我们点击分页的第二个 link 时,将不会显示任何记录。
我的问题是,在点击分页的第二个 link 时,表单正在提交,但值 $model->cmpny_profile_name
为空,因此代码必须显示 10 条记录而不显示单条记录,为什么?请提前告知我们reason.Thanks。
首先,带分页的 Cactivedataprovider 不加载页面,分页与 ajax.So 一起工作如果你在 if 条件下回显代码,你可以检查 ajax 没有数据 displayed.So单击分页的第二个 link 时,将加载具有分页的同一页面 ajax 并且将应用 cmpny_profile_id=-1
条件并且没有提交任何表单,因此不会显示任何数据。
首先,这里table记录较多,所以想在页面中添加分页,代码如下
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 条记录。当我们点击分页的第二个 link 时,将不会显示任何记录。
我的问题是,在点击分页的第二个 link 时,表单正在提交,但值 $model->cmpny_profile_name
为空,因此代码必须显示 10 条记录而不显示单条记录,为什么?请提前告知我们reason.Thanks。
首先,带分页的 Cactivedataprovider 不加载页面,分页与 ajax.So 一起工作如果你在 if 条件下回显代码,你可以检查 ajax 没有数据 displayed.So单击分页的第二个 link 时,将加载具有分页的同一页面 ajax 并且将应用 cmpny_profile_id=-1
条件并且没有提交任何表单,因此不会显示任何数据。