Grails: как получить даты в g:textField из календаря?

У меня есть четыре поля ввода из поискового фильтра. Первоначально я использовал g:datePicker, но это было не совсем то, что я хотел, было слишком медленно выбирать дату из раскрывающихся списков, поэтому я решил, что лучше использовать простое текстовое поле Grails и рядом с ним изображение календаря, которое будет запускать календарь. Я пытался использовать календарь YUI из плагина YUI, но не смог заставить его работать правильно при форматировании даты.

Есть идеи, как это сделать??

Например, если подумать, это просто изображение календаря рядом с текстовым полем, которое запускает календарь и помещает выбранную дату в нужном формате в текстовое поле, но по какой-то причине это сложнее.

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


person randomizertech    schedule 12.07.2010    source источник


Ответы (2)


Первоначально мы использовали подключаемый модуль Grail-UI для средств выбора даты и т. д., но обнаружили, что некоторые действия оказались более сложными, чем мы надеялись. Затем мы нашли jQuery-UI и с тех пор перешли на все наши виджеты пользовательского интерфейса. Я настоятельно рекомендую средство выбора даты jQuery-UI как лучший маршрут, чем текстовые поля или раскрывающиеся списки.

person JeffSea    schedule 20.01.2011
comment
Мне также больше нравится jquery, и я рад, что они переходят от прототипа к jquery в версии 2.0. - person Kaleb Brasee; 17.07.2011

Я не совсем уверен, что понимаю вашу проблему с плагином YUI и форматированием даты. Если вы расширите это, мы могли бы помочь.

Однако я бы рекомендовал использовать подключаемый модуль GrailsUI, который зависит от подключаемого модуля YUI.

Установить

grails install-plugin grails-ui

Вид

На ваш взгляд, убедитесь, что вы включили соответствующие компоненты в раздел head, например:

<head>
  ...
  <gui:resources components="datePicker"/>
  ...
</head>

Также измените тег <body> на <body class="yui-skin-sam">, если вы хотите, чтобы стили по умолчанию (скин) применялись.

Затем вы сможете использовать:

<gui:datePicker id="myDateValue" value="${new Date()}" />

или если вы хотите установить формат даты:

<gui:datePicker id="myDateValue" formatString="yyyy/MM/dd HH:mm:ss" value="${new Date()}" />

Контроллер

При использовании значения из datePicker в контроллере его следует рассматривать как строку, т.е.

Date.parse("yyyy/MM/dd HH:mm:ss", params.myDateValue)
person Heinrich Filter    schedule 13.07.2010
comment
Дело в том, что мне нужна дата в формате ddMMMyy (13JUL10), и я пытался сделать это с помощью пользовательского интерфейса Grails, но у них нет такого формата:/ затем я провел небольшое исследование в Google, и YUI 2 имеет его. Но я не уверен, как реализовать YUI 2 с Grails :/ или jscalendar, который срабатывает всякий раз, когда щелкает изображение рядом с g:textField и помещает дату щелчка в g:textField, тоже будет работать, но я не знаю как это сделать - person randomizertech; 13.07.2010