شکل زیر :
خوب برای اینکه جستجوی شما در gridview به صورت ajax انجام شود همانند yii1 فریم ورک ویجتی با نام Pjax دارد که برای اینکار می توانید از آن استفاده کنید
برای استفاده شما باید این ویجت را در صفحه ای که gridview در آن استفاده شده است قرار دهید
نکته : gridview باید در داخل این ویجت باشد .
نکته : حتما باید ویجت پیجکس رو به این صوت صدا بزنین yiiwidgetsPjax چه هنگامی که آن را شروع می کنید چه هنگامی که پایان می دهید .
yiiwidgetsPjax::begin([
'enableReplaceState' => false,
'enablePushState' => false,
]);
// echo $this->render('_search', ['model' => $searchModel]);
GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yiigridSerialColumn'],
'title',
'title_persian',
['class' => 'yiigridActionColumn'],
],
]);
yiiwidgetsPjax::end();
در صورتی که از _search استفاده می کنید باید به این نکته توجه کنین که
echo $this->render('_search', ['model' => $searchModel]);
در داخل ویجت pjax باشد
در صورتی که پس از انجام کد بالا باز جستجو به صورت ajax انجام نشد
باید برای pjax یک container قرار دهید :
yiiwidgetsPjax::begin([
'enableReplaceState' => false,
'enablePushState' => false,
'clientOptions' => [
'container' => 'buy_search',
]
]);
و در _search نیز data_pjax را برابر container پی جکس (pjax) قرار دهید
$form = ActiveForm::begin([
'action' => ['index'],
'method' => 'get',
'options' => [
'data-pjax' => '#buy_search'
],
]);
برچسب:
نویسنده: پندار توکلی