Flex DatagridColumn LabelFunction Paramètres Supplémentaires
J'ai un datagridcolumn où un labelFunction est défini:
private function myLabelFunction(item:Object, column:DataGridColumn):String
{
var returnVal:String;
var nm:NumericFormatter;
nm.decimalSeparatorTo = ".";
nm.precision = additionalParameter;
returnVal = nmTwoDecimals.format(item[column.dataField]);
if (returnVal == '0.00')
{
returnVal = '';
}
return returnVal;
}
Serait-il possible d'ajouter un paramètre supplémentaire pour que je puisse transmettre les valeurs de propriété pour le formateur que j'ai l'intention d'utiliser?
Comme par exemple:
private function myLabelFunction(item:Object, column:DataGridColumn, precisionParam:int):String
{
var returnVal:String;
var nm:NumericFormatter;
nm.decimalSeparatorTo = ".";
nm.precision = precisionParam;
returnVal = nmTwoDecimals.format(item[column.dataField]);
if (returnVal == '0.00')
{
returnVal = '';
}
return returnVal;
}
Grâce.
Vous devez vous connecter pour publier un commentaire.
Vous doit étendre la classe DataGridColumn. Après la création de votre nouvelle classe de simplement remplacer le itemToLabel fonction:
La ligne "retour labelFunction(données, this);" est ce que appelle la labelFunction (vérifiera également le propriétaire de la grille de données pour un labelfunction). 'données' dans 'itemToLabel' est votre objet. Vous pourriez inclure la valeur de précision que vous voulez dans l'objet ou le coder en dur dans la classe étendue (ou en injection, ou d'un singleton, classe var, ce que vous voulez).
À ce stade, vous pouvez aller de l'avant et de passer d'un troisième paramètre à votre nouvelle labelFunction.
Dans votre étiquette en fonction de la grille de données de la colonne, vous pouvez accéder aux données de terrain à l'aide de la propriété dataField, voir la syntaxe suivante ci-dessous:
"en supposant que votre étiquette de fonction est appelée formatNumbers_LabelFunction"
De cette façon, vous pouvez utiliser une étiquette générique fonction pour gérer certains unifiée des opérations sur des données affichées
Et en plus de cela, vous pouvez également accéder à toutes les données de champ qui est dans le fournisseur de données simplement en appelant son nom comme ceci:
où l'élément est le premier paramètre [type d'Objet] dans votre étiquette en fonction de la méthode
Ce serait le travail: