MasteRus
MasteRus

Reputation: 111

yii2 gridview range filter

I have a Gridview with filters on each field and for one field I need to use a Range Input for searching values in range. But when I input value in a first filter field, data are submitting. How to disable submit on the first input field or how to disable autosubmit for all gridview?

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'pjax'=>false,
    'export' => false,
    'columns' => [
        [
            'class'=>'kartik\grid\EditableColumn',
            'attribute'=>'amount',
            'filter' => FieldRange::widget([
                'model' => $searchModel,
                'label' => 'Enter range',
                'name1'=>'valueFrom',
                'name2'=>'valueTo',
                'type' => FieldRange::INPUT_SPIN,
            ]),
        ],
        ...
      ]

Upvotes: 3

Views: 3294

Answers (2)

anyeshe
anyeshe

Reputation: 11

[
    'class' => 'yii\grid\DataColumn', 
    'attribute' => 'user_id', 
    'visible' => true,
    'format' => 'raw',
    'value' => function ($data) {
        return Html::a($data->user_id, ['/members/index', 'k' => 'mid', 'word' => $data->user_id], ['target' => '_blank']);
    },
    'filter' => FieldRange::widget([
        'model' => $searchModel,
        'attribute1' => 'user_id_from',
        'name1'=>'UserTagSearch[user_id_from]',
        'value1' => '',
        'attribute2' => 'user_id_to',
        'name2'=>'UserTagSearch[user_id_to]',
        'value2' => '',
        'separator' => 'to',
        'useAddons' => false,
        'template' => '{widget}{error}',
        'widgetContainer' => [
            'style' => 'margin-bottom: -15px'
        ],
        'type' => FieldRange::INPUT_TEXT,
    ]),
    'contentOptions' => ['style' => 'width:10%'],
],

Each input you master, appoint three fields like this: 'attribute1', 'name1', 'value1'.

Upvotes: 1

Ciprian
Ciprian

Reputation: 3226

Have you tried this GridView? It allows you to create advanced GridViews where you can filter columns by two dates.

http://demos.krajee.com/grid-demo

Upvotes: -2

Related Questions