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.
<?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.

{ 7 comments… read them below or add one }
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?
Avery
Yes.
Peter
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
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
Hey is there a way to change the color of the day any day I want based on a variable.
Like if the string on a database is this then the color of the specific day on the datechooser will be labeled in purple or green.
Hi,
Is it possible to change the color of the day depending on some xml data put in data provider of an DateChooser?
like I hav the following:
DateChooser { dateChooserStyleName: myDateChooser; } .myDateChooser { background-color:red; font-size:12; } .myToday { fontWeight: bold; font-size:14; font-thickness:4; background-color:yellow; } 0) { for (var i:uint=0; i < mycal.numChildren; i++) { var calendarObj:Object=mycal.getChildAt(i); if (calendarObj.hasOwnProperty("className")) { if (calendarObj.className == "CalendarLayout") { var cal:CalendarLayout=CalendarLayout(calendarObj); for (var j:uint=0; j 0) { for (var k:uint=0; k < eventArray.length; k++) { dayHTML+="<a HREF='Event:" + eventArray[k].data + "' rel="nofollow">" + eventArray[k].label + "</A>"; } day.htmlText=dayHTML; day.styleName="myToday"; mycal.validateDisplayList(); //Alert.show("inside last Loop "+dayHTML); // day.opaqueBackground=true; } } } } } } } } private function linkHandler(event:TextEvent):void { Alert.show("Event: " + event.text); } private function dateHelper(renderedDate:String):Array { var result:Array=new Array(); for (var i:uint=0; i And the data1.xml as : 8/22/2009 This is a test 1 Stephens Test 1 8/23/2009 This is a test 2 Stephens Test 2I want to highlight only the days have some event in thedata1. xml.
I tried this code but i am not able to get the desired color in the date field