J'utilise un DateChooser et je souhaite afficher différentes informations dans une info-bulle lorsque l'utilisateur revient chaque jour. Y a-t-il un événement qui se déclenche alors que je roule dans le calendrier qui me dira quel jour je suis actuellement?Flex DateChooser événements pour les jours individuels?
Répondre
Qu'en est-il de change
?
C'est un peu compliqué. Vous allez devoir utiliser l'espace de noms mx_internal. La partie de grille du composant DateChooser est un composant CalenderLayout dans DateChooser.as.
mx_internal var dataGrid:CalenderLayout;
CalenderLayout.as a le mouseMoveHandler. Dans le gestionnaire nous avons:
var selCell:IUITextField = dayBlocksArray[colIndex][rowIndex];
qui vous donne les informations nécessaires sur le jour où la souris est terminée. Vous devrez étendre DateChooser pour utiliser un CalendarLayout étendu qui expose le selectedCell.
peut-être:
private function mouseMoveHandler(event:MouseEvent):void
{
...
dispatchEvent(new DayHoverEvent(selCell.text));
}
Je suppose que ce que je suis en train de dire est qu'il est un peu difficile, et il utilise mx_internal, ce qui signifie que les variables sont susceptibles d'être modifiées dans les versions ultérieures de Flex.
Doux exactement ce que je cherchais. J'ai ajouté un dispatchEvent à mousup au lieu de MouseMoveHandler comme MouseMoveHandler était en train de déclencher des événements de diffusion en continu de selCell.text. – Satish
Vous pouvez consulter mon blog à ce sujet: http://flexmonkey.blogspot.com/2010/06/displaying-color-coded-events-in-flex.html
J'ai basé cela sur certains travaux antérieurs par Kevin Brammer (http://www.cyberslingers.com/weblog/post/Adding-Calendar-Event-Entries-to-the-Flex-DateChooser-Component.aspx) - il vous permet d'ajouter une info-bulle à certains jours et le code couleur les
Hope it helps,
simon
est pas seulement tiré sur un clic? – sprugman
(ou peut-être lorsque la date sélectionnée est modifiée par programme) - Je ne parle pas de la date sélectionnée, seulement la date planifiée. – sprugman
Vous aurez besoin d'un gestionnaire MouseEvent comme suggéré dans l'autre article. – dirkgently