hi!
Im new in Yii2.0 and I need help in using gridview and datepicker. I have below code in my index.php.
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'class' => 'yii\grid\DataColumn',
'label' => 'Sales Date',
'value' => function ($data) {
$sales_dt=$data['fdate'];
return Yii::$app->formatter->asDate(strtotime($sales_dt), 'php:d-m-Y');
},
'filter'=> DatePicker::widget(array(
'name' => 'sales_date',
'model' => $searchModel,
'attribute'=>'fdate',
'dateFormat' => 'php:d-m-Y',
), true),
],
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view}',
'buttons' => [
'view' => function ($url, $model, $key) {
return Html::a('<span class="glyphicon glyphicon-eye-open"></span>', $url, [
'title' => Yii::t('yii', 'View'),
]);
},
],
],
],
]); ?>
and i would like to know how to do sort and filter for the date column. Thanks for any help!
below is my modelsearch function:
public function search($params)
{
$query = Sales::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
$dataProvider->setSort([
'defaultOrder' => [
'fdate' => SORT_DESC,
'fcheck' => SORT_DESC,
'fdesc1' => SORT_ASC,
],
]);
if (!($this->load($params) && $this->validate())) {
return $dataProvider;
}
$query->andFilterWhere([
'sales_key' => $this->sales_key,
'create_dt' => $this->create_dt,
'update_dt' => $this->update_dt,
]);
$query->andFilterWhere(['like', 'sales_status_fl', $this->sales_status_fl])
->andFilterWhere(['like', 'fdate', $this->fdate]);
return $dataProvider;
}