Je tire des données XML pour déterminer les colonnes visibles et les largeurs de chaque colonne. La largeur de ma grille de données peut changer d'un côté d'une HDividedBox. La partie de visibilité fonctionne, mais la définition de la largeur provoque des maux de tête. Heres le code:Largeur de colonne Flex 3 DataGrid Problème
for(loop through column data retrieve from XML)
{
newData[i] = dg.columns[Number(columnsOrder[i]) - 1];
newData[i].visible = (Number(columnsVisibility[i]) == 1);
newData[i].width = Number(columnsWidth[i]);
trace(newData[i].headerText + " w:" + newData[i].width.toString() + " v:" + newData[i].visible.toString());
}
dg.columns = newData;
dg.invalidateList();
Dans la trace la largeur est correcte pour les deux premiers éléments, cependant, sa projection en tant que « 20 » pour une jamais consécutive ...
Date w:240 v:true
Title w:184 v:true
Requestor w:20 v:true
Approved By w:20 v:true
Category w:20 v:false
Status w:20 v:false
Priority w:20 v:false
Quand je sortie Number (columnsWidth [i]) apparaît comme la valeur correcte, donc quelque chose de bizarre se passe dans l'attribution de la largeur.
En regardant cela pendant quelques heures maintenant, et j'ai essayé plusieurs choses pour essayer de résoudre le problème en vain.
Je pense que ce bug se produit si la taille de la grille de données est trop faible pour calculer les colonnes lors de sa création. Un travail autour est de définir la largeur à quelque chose qui va accueillir toutes les colonnes comme 100, puis dans l'événement de création complète définir la largeur à ce que vous voulez vraiment, comme percentWidth = 100 – robmcm