Est-il possible que lorsque la souris survole l'en-tête de la grille de données, le curseur se transforme en curseur de la main au lieu du pointeur?Comment afficher le curseur de la main sur un en-tête DataGrid?
0
A
Répondre
2
Je ne crois pas que vous puissiez le faire directement sans étendre DataGrid car je ne crois pas qu'il existe un moyen d'accéder directement à l'en-tête. Nous avons heureusement la hauteur de l'en-tête disponible pour nous et pouvons la comparer à la position de la souris pour changer le curseur manuellement. Voici un exemple complet dans Flex4:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
applicationComplete="init()"
>
<fx:Script>
<![CDATA[
import flash.events.MouseEvent;
private function init():void{
this.grid.addEventListener(MouseEvent.MOUSE_MOVE, function():void{
if (grid.contentMouseY <= grid.headerHeight) {
useHandCursor = true
buttonMode = true
} else {
useHandCursor = false
buttonMode = false
}
})
this.grid.addEventListener(MouseEvent.MOUSE_OUT, function():void {
useHandCursor = false
buttonMode = false
})
}
]]>
</fx:Script>
<mx:DataGrid id="grid"/>
</s:Application>
Voici le doc flash sur la création/extension de composants Flex3 (depuis son composant mx): http://livedocs.adobe.com/flex/3/html/help.html?content=Part4_CreateComps_1.html