Gridview search

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
fname_lname
Сообщения: 38
Зарегистрирован: 2018.03.15, 12:22

Gridview search

Сообщение fname_lname »

Как скрыть gridview по умолчанию? мне необходимо чтобы gridview срабатывал после нажатия на поиск. Как это сделать?
короче, нужно чтобы записи не отображались в grid все сразу, а только по условию поиска.
index.php

Код: Выделить всё

<?php

use yii\helpers\Html;
use yii\grid\GridView;

/* @var $this yii\web\View */
/* @var $searchModel app\models\RequestsSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */

$this->title = 'Поиск';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="requests-index">

    <h3><?= Html::encode($this->title) ?></h3>


    <?= GridView::widget([
        'dataProvider' => $dataProvider,

        'columns' => [

            'date_created',
            'fio',
            'content',
            'otchet'
            'date_updated',
        ],
    ]); ?>
    <?php  echo $this->render('_search', ['model' => $searchModel]); ?>

</div>
Аватара пользователя
maleks
Сообщения: 1992
Зарегистрирован: 2012.12.26, 12:56

Re: Gridview search

Сообщение maleks »

Вы же можете вот это:

Код: Выделить всё

<?= GridView::widget([
обернуть в условие анализирующее что там в dataProvider
fname_lname
Сообщения: 38
Зарегистрирован: 2018.03.15, 12:22

Re: Gridview search

Сообщение fname_lname »

Что-то не могу додумать, может быть подскажете какое должно быть условие?
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Gridview search

Сообщение unknownby »

fname_lname писал(а): 2020.02.13, 07:44 Что-то не могу додумать, может быть подскажете какое должно быть условие?
Примерно так товарищ сказал, но в твоем случае надо будет правильно сделать поиск, чтобы условие срабатывало.

Код: Выделить всё

<?php if (isset($dataProvider)) { ?>
    <?= GridView::widget([
        'dataProvider' => $dataProvider,

        'columns' => [

            'date_created',
            'fio',
            'content',
            'otchet'
            'date_updated',
        ],
    ]); ?>
    <?php }  ?>
Аватара пользователя
maleks
Сообщения: 1992
Зарегистрирован: 2012.12.26, 12:56

Re: Gridview search

Сообщение maleks »

Скорее в условии надо проверять $searchModel, есть ли в ней что то от пользователя
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Gridview search

Сообщение unknownby »

maleks писал(а): 2020.02.13, 09:57 Скорее в условии надо проверять $searchModel, есть ли в ней что то от пользователя
Она вернет все поля, которые есть в модели поиска и проверять все поля как-то не ахти. Лучше всё же настроить правильно поиск, но это лично моё мнение.
Можно к примеру сделать проверку в контроллере, есть ли что-нибудь в GET или POST, если есть, тогда в dataProvider передавать эти значения, если нет, тогда dataProvider будет пустым, а значит не отобразится GridView. :)
Ответить