Yii2 GridView - 使用范围日期选择器



有没有办法在 GridView usign DatePicke 中制作两个用于拣选日期的字段。我需要单个属性的日期开始日期结束字段。

这是我当前的代码:

[
    'attribute' => 'created_at',
    'label'     => 'Date Added',
    'value'     => 'created_at',
    'filter'    => yiijuiDatePicker::widget([
        'model'=>$searchModel,
        'dateFormat' => 'MM-dd-yyyy',
        'attribute'=>'dateFrom',                                
        'options'    => [
                'class' => 'form-control'
            ],
        ]),
    'format'    => ['date', 'php:m-d-Y, H:s']
]

这肯定会对你有所帮助。您必须在 GridView 中进行以下更改:

[
    'attribute' => 'created',
    'value' => 'created',
    'filter' => DateRangePicker::widget([
        'model' => $searchModel,
        'attribute'=>'created',
        'convertFormat'=>true,
        'pluginOptions'=>[
            'locale'=>[
                'format'=>'Y-m-d',
                'separator' => 'to',
            ]
        ]
    ])
],

您必须在模型搜索方法中进行以下自定义:

$strCondition = '';
if (!empty($params['ModelSearch']['created'])) {
    $arrExplodeRange = explode('to', $params['ModelSearch']['created']);
    $strCondition = "created BETWEEN '". $arrExplodeRange[0] . "' AND '" . $arrExplodeRange[1] . "'";
}
$query = Category::find()->where($strCondition);
$dataProvider = new ActiveDataProvider([
    'query' => $query,
]);

最新更新