Как отобразить дату в столбце даты в виде ссылки и при нажатии на нее, как отобразить выбор даты? - PullRequest
0 голосов
/ 27 сентября 2019

Я использую Extjs 6.5.3 classic.У меня есть сетка, в которой есть два столбца даты.Теперь я хочу показать это значение столбца даты в виде ссылки, и при щелчке по нему я хочу показать средство выбора даты, чтобы выбрать дату.Я не хочу использовать редактор строк или редактор ячеек.Я просто хочу показать выбор даты при нажатии на значение даты.И после нажатия на дату выбора даты я хочу показать обновленное значение в сетке.

Пожалуйста, помогите.

Заранее спасибо.

1 Ответ

0 голосов
/ 30 сентября 2019

Вы можете сделать это следующим образом: сначала установите столбец с помощью средства визуализации:

{
    xtype:'column',
    header: "My Date",
    width: 90,
    sortable: true,     
    dataIndex: 'MyDateField',
    align: 'center',
    renderer: function (value,metaData){
            //Adjust date format as needed
            return '<a href="#" onclick="pickDate(event,'+metaData.record.data.ID+')" >'+value+'</a>';
    }
}

После этого объявите функцию pickDate следующим образом:

var pickDate = function(e,id){        
    Ext.create('Ext.window.Window', {        
    modal: true,    
    bodyPadding: 0,
    renderTo: Ext.getBody(),
    items: [{
        xtype: 'datepicker',
        minDate: new Date(),
            handler: function(picker, date) {
                  // do something with the selected date                                            
            }
        }]
    }).show().setPosition(e.x,e.y);
}

Существуют различныеВозможно, вы могли бы «предварительно» создать это окно и просто показать / позиционировать / скрыть, например.

...