Как вы форматируете метку месяца GWT Datepicker? - PullRequest
0 голосов
/ 08 января 2020

Мне интересно, есть ли кто-нибудь, кто знает, как отформатировать datepickerMonth для средства выбора даты GWT?

Текущий формат - 2020 Jan, и я ищу его как January 2020.

Я прошел через GWT Datepicker Javado c, но не смог найти способ получить доступ к этому значению.

Я использую GWT 2.8.1.

1 Ответ

1 голос
/ 10 января 2020

Мне удалось сделать это в GWT 2.7. Я полагаю, что это будет работать и в 2.8 - если нет, пожалуйста, дайте мне знать.

Если вы посмотрите на реализацию DatePicker, вы увидите, что она использует DefaultMonthSelector, DefaultCalendarView и CalendarModel.

CalendarModel - это то, что нас интересует, поскольку оно обеспечивает monthAndYearFormatter, которое отвечает за рендеринг 2020 Jan. К сожалению, вы не можете установить собственный CalendarModel, поэтому нам нужно создать подкласс DatePicker.

Метод getMonthAndYearFormatter() возвращает PredefinedFormat.YEAR_MONTH_ABBR, и нам нужно изменить его на PredefinedFormat.YEAR_MONTH, чтобы получить полный месяц имя. Или измените его на любое другое.

Итак, вам просто нужно переопределить этот метод следующим образом:

public class MyDatePicker extends DatePicker {
    public MyDatePicker() {
        super(new DefaultMonthSelector(), new DefaultCalendarView(), new CalendarModel() {
            @Override
            protected DateTimeFormat getMonthAndYearFormatter() {
                return DateTimeFormat.getFormat(PredefinedFormat.YEAR_MONTH);
            }
        });
    }
}

Просто используйте MyDatePicker вместо DatePicker.


И вот результат:

DatePicker with custom monthAndYearFormatter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...