TheDutch
%Europe/Berlin %744 %2007, 17:52
Er zit een clipping bug in de Flex 2 DataGrid component. Wanneer je binnen een kolom een custom item renderer gebruikt die hoger is dan de standaard rij hoogte van het DataGrid in combinatie met het style element "verticalAlign" gezet op "middle" of "bottom", dan treedt er een clipping probleem op. De kolommen die geen gebruik maken van een custom item renderer zullen dan buiten het DataGrid zichtbaar zijn. Dit komt omdat er voor de standaard kolommen geen clipping mask gebruikt wordt.
De rede waarom Adobe dit niet gedaan heeft is vanwege het feit dat masking nogal wat CPU power kan vragen bij het scrollen van het DataGrid. Zonder die clipping masks voor de standaard kolommen scheelt dit namelijk 25% performance. Ze zijn echter bovenstaande scenario vergeten ;).
Om dit op te lossen heb ik het "clippingEnabled" property toegevoegd aan de DataGrid component, deze staat standaard op FALSE. Wanneer deze op TRUE staat zal er, net zoals wanneer er helemaal geen custom item renderers gebruikt worden, één grote clipping mask over het DataGrid worden geplaatst. Deze zal het probleem oplossen maar natuurlijk ook die 25% extra performance tijdens het scrollen ongedaan maken.
Deze bug heb ik aan Adobe doorgegeven. Hopelijk is dit probleem opgelost bij de volgende update van de Flex 2 SDK.
In de tussentijd kan je gebruikmaken van mijn FixedDataGrid component die ik als bijlage heb toegevoegd aan dit bericht :).
Erwin
De rede waarom Adobe dit niet gedaan heeft is vanwege het feit dat masking nogal wat CPU power kan vragen bij het scrollen van het DataGrid. Zonder die clipping masks voor de standaard kolommen scheelt dit namelijk 25% performance. Ze zijn echter bovenstaande scenario vergeten ;).
Om dit op te lossen heb ik het "clippingEnabled" property toegevoegd aan de DataGrid component, deze staat standaard op FALSE. Wanneer deze op TRUE staat zal er, net zoals wanneer er helemaal geen custom item renderers gebruikt worden, één grote clipping mask over het DataGrid worden geplaatst. Deze zal het probleem oplossen maar natuurlijk ook die 25% extra performance tijdens het scrollen ongedaan maken.
Deze bug heb ik aan Adobe doorgegeven. Hopelijk is dit probleem opgelost bij de volgende update van de Flex 2 SDK.
In de tussentijd kan je gebruikmaken van mijn FixedDataGrid component die ik als bijlage heb toegevoegd aan dit bericht :).
Erwin