2010-12-15 3 views

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

Questions connexes