Есть ли хороший компонент выбора даты / времени Flex (3)? - PullRequest
3 голосов
/ 16 сентября 2009

Мне нужно средство выбора времени для гибкого приложения, и, насколько я могу судить, не существует компонента пользовательского интерфейса для управления Date объектами с разрешением, меньшим, чем в сутки (компонент DateChooser).

Что такое хороший выбор времени для Flex? Я настоятельно предпочитаю Free как в Libre и / или Free как в компоненте Beer.

Ответы [ 6 ]

5 голосов
/ 15 ноября 2009

Может быть, это может помочь: http://blog.georg -graf.com / архив / 301

4 голосов
/ 17 сентября 2009

Это должно работать для вас: http://joelhooks.com/2008/10/11/flex-date-and-time-datetime-picker-control/

Прямо над ним находится демонстрация и ссылка на исходный код.

2 голосов
/ 17 февраля 2011

Если вы хотите редактировать только время, вот решение:

http://weflex.wordpress.com/2011/02/17/flex-timeinput-component/

1 голос
/ 22 декабря 2010

Yahoo! Astra TimeInput и TimeStepper полезны.

http://developer.yahoo.com/flash/astra-flex/timeinput/

http://developer.yahoo.com/flash/astra-flex/timestepper/

Однако, по-видимому, существует проблема при использовании их с Flex 4 SDK, и, похоже, Yahoo! В настоящее время не планирует обновлять свои компоненты Astra.

Возможно, вы захотите проверить эту ссылку для версии, которая работает с Flex 4. https://github.com/joshtynjala/astra-flex

Я думаю, что ввод времени был бы хорошим кандидатом на собственный компонент Flex SDK.

1 голос
/ 16 сентября 2009

Нашли это на сайте Adobe (первый результат в поиске Google) http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1400019.

Вы можете расширить компонент DateChooser для добавления вышеуказанной функции.

0 голосов
/ 15 октября 2015

Попробуйте следующий код: Это будет полезно для ввода формата ЧЧ: ММ 12ч без AM / PM

MXML-код:

<Timepicker maxChars="5" restrict="0-9" />

Код ActionScript:

package
{
import flash.events.KeyboardEvent;

import mx.controls.TextInput;

public class Timepicker extends TextInput
{
    public function Timepicker()
    {
    }

    override protected function keyUpHandler(event:KeyboardEvent):void
    {
        super.keyUpHandler(event);

        if (text.length == 0)
        {
            return;
        }
        var keyDel:Boolean=false;
        if (event.charCode == 8 || event.charCode == 46)
            keyDel=true;
        var numberString:String=text;
        if (keyDel)
            text=numberString;

        if (numberString.length > 0 && !keyDel)
        {
            if (numberString.length == 2 && numberString.indexOf(":") == -1)
            {
                text=numberString;
                textField.appendText(":");
            }
            else if (numberString.length >= 4 && Number(numberString.charAt(3)) > 5)
            {
                text=numberString.substr(0, 3)
            }
            else if (numberString.length == 3 && numberString.charAt(2) != ":")
            {
                if (Number(numberString.charAt(2)) <= 5)
                {
                    var fourthDigit:String=numberString.charAt(2);
                    super.textField.text="";
                    super.textField.appendText(numberString.substring(0, 2) + ":" + fourthDigit);
                }
                else
                {
                    super.textField.text="";
                    super.textField.appendText(numberString.substring(0, 2) + ":");
                }
            }
            textField.setSelection(textField.length, textField.length);

        }
    }

    override protected function keyDownHandler(event:KeyboardEvent):void
    {
        super.keyDownHandler(event);
        var keyDel:Boolean=false;
        if (event.charCode == 8 || event.charCode == 46)
            keyDel=true;

        super.text=text;
        if (super.text.length == 0)
        {
            var inputVal:String=String.fromCharCode(event.charCode);
            if (Number(inputVal) > 1)
            {
                super.textField.appendText("0" + inputVal + ":");
            }
        }
        super.textField.setSelection(super.textField.length, super.textField.length);
    }

}

}

...