DataGrid et IconCellRenderer v1.2
Updated Flash 8
Cet exemple permet de gérer des icônes dans un DataGrid.
Si la taille de la colonne est trop petite, l'icône est rendu invisible.
dgiconrd.zip for Flash 8 (303 Ko)
dgiconrd.zip for MX2004 (303 Ko)
Explication
On utilise une classe IconCellRenderer.as qui se veut "générique". Le nom du symbole à afficher est calculé par une fonction iconFunction (qui tient compte de la colonne et de la valeur de la cellule).
Les images/icônes doivent posséder une propriété Linkage avec un Identifier. Votre iconFunction doit retourner cet Identifier sous forme de string.
Exemple d'utilisation
Déclarer un DataGridColumn de la façon suivante :
import mx.controls.gridclasses.DataGridColumn;
var gc2 = new DataGridColumn("country");
gc2.width = 100;
gc2.headerText = "Country:";
gc2.cellRenderer = "IconCellRenderer";
gc2.iconFunction = contactIconFunction;
Déclarer la fonction contactIconFunction
de la façon suivante
:
contactIconFunction = function (itemObj:Object, columnName:String)
{
if (itemObj == undefined || columnName == undefined) {
return;
}
switch (columnName) {
case "country":
var country = itemObj.country;
return (country == undefined ? undefined : "flag_"+country);
break;
}
}
Version
version 1.2 - 2 Fev 2006 : updated for Flash 8
version 1.1 - 22 Jan 2004 : correction d'un bug de ré-affichage