Мне нужно добавить указатель даты в столбцы Gridview

#php #gridview #yii

#php #просмотр сетки #yii

Вопрос:

[РЕШЕНО]

Чего я пытаюсь добиться, так это поместить средство выбора даты в столбцы gridview и при изменении обновить таблицу mysql.

У меня есть функции обновления, мне просто нужна помощь, чтобы добавить указатель даты в столбец

ОТВЕТ:

 'columns' =>array(
    array(
        'name'=>'due_date',
        'value'=>'$data->datePicker()',
        'filter'=>CHtml::activeDateField($model,'due_date',array('id'=>$id,'class'=>'form-control','data-id'=> $this->id)),     
        'type'=>'raw',
    ),
),
  

А затем функцию выбора даты в моей модели

 public function datePicker(){
    return CHtml::activeDateField($this,'due_date',array('id'=>$id,'class'=>'form-control updateableDate','data-id'=> $this->id));
}
  

Любые вопросы, не стесняйтесь

Ответ №1:

Вы можете использовать этот код :-

 <div id="orderdiv">
            <?php
            $this->widget('zii.widgets.jui.CJuiDatePicker', array(
                            //'model' => $model,
                            'name'=>'test',
                            'attribute' => 'created',
                            'language' => 'en-AU',
                        'i18nScriptFile' => 'jquery.ui.datepicker-en.js',
                            'htmlOptions' => array(
                                'id' => 'created',
                                'size' => '10',
                            ),
                            'defaultOptions' => array(
                                //'showOn' => 'focus',
                                'dateFormat' => 'dd/mm/yy',
                                'showOtherMonths' => true,
                                'selectOtherMonths' => true,
                                'changeMonth' => true,
                                'changeYear' => true,
                                'showButtonPanel' => true,
                            )
                                ));
            ?>
</div>
  

дайте мне знать, работает это или нет.

Ответ №2:

Попробуйте этот код :-

 $this->widget('zii.widgets.grid.CGridView', array(
                'id'=>'orders-grid',
                'dataProvider'=>$model->search(),
                'filter'=>$model,
                'afterAjaxUpdate'=>"function(){jQuery('#due_date_search').datepicker({'dateFormat': 'yy-mm-dd'})}",
                'columns'=>array(
                    array(
                        'name' => 'due_date', 
                        'type' => 'raw', 
                        'filter'=>$this->widget('zii.widgets.jui.CJuiDatepicker', array('model'=>$model, 'attribute'=>'due_date', 'htmlOptions' => array('id' => 'due_date_search'), 'options' => array('dateFormat' => 'yy-mm-dd')), true)
                        ),
                ),
            ));