J'ai un tableau de jours. Je veux que ces jours aient une couleur de fond différente dans le composant DateChooser, disons rouge.Flex 4 DateChooser
Comment puis-je faire cela s'il vous plaît?
J'ai un tableau de jours. Je veux que ces jours aient une couleur de fond différente dans le composant DateChooser, disons rouge.Flex 4 DateChooser
Comment puis-je faire cela s'il vous plaît?
Le DateChooser est pas facile à personnaliser!
Quelque chose proche de cela fonctionnera, mais vous aurez besoin de ruser un peu en fonction de ce que vous voulez faire.
public class FancyDateChooser extends DateChooser {
public var fancyStyleName : String;
public var dayToMakeFancy : String;
protected override createChildren() : void {
super.createChildren();
var dateGrid : UIComponent = mx_internal::dateGrid;
for (var i: int = 0; i < dateGrid.numChidren; i++) {
if ((dateGrid.getChildAt(i) as IUITextField).text == dayToMakeFancy) {
dateGrid.getChildAt(i).styleName = fancyStyleName;
}
}
}
}
Vous devez utiliser disabledRanges et disabledColor. Voici un example sur "Flex exemples".
Merci pour la part de Gregor Kiddie. J'ai modifié un peu le code de Gregor Kiddie. Laissez-le entrer plusieurs dates.
public class MyDateChooser extends DateChooser
{
public var highlightColor : Number = 0xff0000; // sample
public var highlightDate : Array = ["10","20"]; // sample
public function MyDateChooser()
{
super();
}
protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth, unscaledHeight);
var dateGrid : UIComponent = mx_internal::dateGrid;
for (var i: int = 0; i < dateGrid.numChildren; i++) {
if (dateGrid.getChildAt(i) is IUITextField) {
var textField:UITextField = dateGrid.getChildAt(i) as UITextField;
for (var j:int = 0; j<highlightDate.length; j++) {
if (textField.text == highlightDate[j]) {
textField.textColor = highlightColor;
}
}
}
}
Merci, Gregor. Cela fera l'affaire. J'espérais ne pas devoir prolonger le cours, mais il semble que je ne puisse pas m'en passer. Je me demande si une peau personnalisée suffira cependant. – Francisc