首先,这里我们在表中有更多记录,因此我们希望在页面中添加分页,并且代码如下所示
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));
}
现在,在加载页面时,将不会显示任何记录,并且我们有一个要在页面中提交的表单,因此在提交表单时,代码会很好地显示前10条记录。当我们单击分页的第二个链接时,将不会显示任何记录。
我的问题是,单击分页的第二个链接时,表单正在提交,但值$model->cmpny_profile_name
为空,因此代码必须显示10条记录,但不显示单个记录,为什么?请让我们知道原因。谢谢。
答案 0 :(得分:0)
首先,具有分页功能的Cactivedataprovider无法加载页面,分页功能可与ajax一起使用,因此如果在if condition中回显代码,则可以检查ajax不会显示任何数据。分页将使用ajax加载,并且将应用cmpny_profile_id=-1
条件,并且尚未提交任何表单,因此不会显示任何数据。