【问题标题】:Yii2 - dropDownList filter outside GridViewYii2 - GridView 外部的 dropDownList 过滤器
【发布时间】:2020-05-23 22:07:09
【问题描述】:

我在视图中有一个kartik\GridView,

GridView

其实在工具栏上加了一个dropDownList

GridView with dropdownlist

但是我需要 dropDownList 作为状态 [solicitudes_status] 的过滤器选项,我该如何实现呢?谢谢。

$statusAll = TblEstatus::find()->all();
$statusArray = ArrayHelper::map($statusAll, 'estatus_id', 'estatus_descripcion');

$searchModel = new TblSolicitudesSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);


<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
      'solicitudes_solicitud',
      'solicitudes_dependencia_destino_id',
      'solicitudes_dependencia_tipoapoyo_id',
      'solicitudes_status',
      [
        'attribute' => 'solicitudes_status',
        'filter'    => [ 1=>"Nuevos", 2=>"Atendiendo", 3=>"Terminados" ]
      ],

      ['class' => 'yii\grid\ActionColumn'],
    ],
    'toolbar' =>  [
        ['content'=>
        Html::dropDownList('status_list_drop', 'null', $statusArray, ['data-pjax'=>0, 'class' => 'form-control']),
      ],
    ],
    'pjax' => true,
    'bordered' => true,
    'striped' => false,
    'condensed' => false,
    'responsive' => true,
    'hover' => true,
    'floatHeader' => false,
    'showPageSummary' => false, 
    'panel' => [
        'type' => GridView::TYPE_DEFAULT
    ],
]); ?>

【问题讨论】:

    标签: php gridview yii2 filtering


    【解决方案1】:

    您可以尝试使用activeDropDownList进行过滤:

    Html::activeDropDownList($searchModel, 'attribute_name',
        ArrayHelper::map(ModelName::find()->asArray()->all(), 'ID', 'Name'),
       ['class'=>'form-control','prompt' => 'Select status']),
    

    根据您的属性更改值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 1970-01-01
      • 2016-02-10
      • 1970-01-01
      相关资源
      最近更新 更多