19
Dec
07

Customizing the current date in the Flex DateField control

In an earlier example, “Changing the current date’s background color in the Flex DateField control”, we saw how you can customize the background color of the current date, assuming that the showToday property is true. In the following example, we see how you can change the font color, style, and weight of the current date by setting the todayStyleName style in the Flex DateField control’s nested DateChooser control.

Full code after the jump.

View MXML

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/12/19/customizing-the-current-date-in-the-flex-datefield-control/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="top"
        backgroundColor="white">

    <mx:Style>
        DateField {
            todayColor: haloOrange;
            dateChooserStyleName: myCustomDateChooser;
        }

        .myCustomDateChooser {
            todayStyleName: myCustomTodayStyleName;
        }

        .myCustomTodayStyleName {
            color: black;
            fontStyle: italic;
            fontWeight: bold;
        }
    </mx:Style>

    <mx:ApplicationControlBar dock="true">
        <mx:Form styleName="plain">
            <mx:FormItem label="showToday:">
                <mx:CheckBox id="checkBox"
                        selected="true"
                        change="dateField.open();" />
            </mx:FormItem>
        </mx:Form>
    </mx:ApplicationControlBar>

    <mx:DateField id="dateField"
            showToday="{checkBox.selected}"
            creationComplete="dateField.open();" />

</mx:Application>

View source is enabled in the following example.


4 Responses to “Customizing the current date in the Flex DateField control”


  1. 1 Avery Apr 28th, 2008 at 7:46 pm

    Hello Peter.

            DateField {
                todayColor: haloOrange;
                dateChooserStyleName: myCustomDateChooser;
            }
    
            .myCustomDateChooser {
                todayStyleName: myCustomTodayStyleName;
            }
    
            .myCustomTodayStyleName {
                color: black;
                fontStyle: italic;
                fontWeight: bold;
            }
    

    Can you leave a demo here? Can I change whatever the color I want?

  2. 2 peterd Apr 28th, 2008 at 8:54 pm

    Avery

    Yes.

    Peter

  3. 3 tkong May 15th, 2008 at 1:59 am

    Hi Peter,

    How about when the calendar is showing any month other than this month;
    then when the showToday is checked the month will redraw the current month, with today highlighted, of course.

    Thanks in advance.

    tkong

  4. 4 peterd May 15th, 2008 at 8:28 am

    tkong,

    Something like this?

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
            layout="vertical"
            verticalAlign="middle"
            backgroundColor="white">
    
        <mx:Script>
            <![CDATA[
                private function init():void {
                    var theFuture:Date = new Date();
                    theFuture.month += 2;
                    dateChooser.displayedYear = theFuture.fullYear;
                    dateChooser.displayedMonth = theFuture.month;
                }
            ]]>
        </mx:Script>
    
        <mx:ApplicationControlBar dock="true">
            <mx:Button label="Current date"
                    click="dateChooser.selectedDate = new Date();" />
        </mx:ApplicationControlBar>
    
        <mx:DateChooser id="dateChooser"
                initialize="init();" />
    
    </mx:Application>
    

    Peter

Leave a Reply

This blog is terrible at eating HTML tags. If you plan on posting code/XML, please escape your "<" characters as "&lt;" and your ">" characters as "&gt;".