2012-01-11 6 views
1

私はflexプロジェクトで作業していて、データを含む行にカーソルを置いたときにカーソルを変更したいというデータグリッドを持っています。DataGrid行のカーソルを変更します

データグリッド上でダブルクリックが有効になっています。私は、それらがホバリングしている行をクリックすることができることを使用したいと思います。

これは私が試したことですが、データグリッド上で手カーソルを使用するように見え、行データではありません。

<mx:DataGrid x="9" y="47" width="330" height="244" useHandCursor="true" buttonMode="true" mouseChildren="true" horizontalScrollPolicy="{ScrollPolicy.AUTO}" styleName="resultgrid" dataProvider="{acLatest}" doubleClickEnabled="true" itemDoubleClick="doubleClickoverview()" id="overviewLatest_dg"> 
    <mx:columns>     
     <mx:DataGridColumn headerText="Tag" id="overviewLatest_dg_animal_ptag" visible="true" dataField="animal_ptag" width="110" /> 
     <mx:DataGridColumn headerText="Status" id="overviewLatest_dg_status_status" visible="true" dataField="status_status" width="110"/> 
     <mx:DataGridColumn headerText="Sex" id="overviewLatest_dg_animal_sex" visible="true" dataField="animal_sex" width="110"/> 
    </mx:columns> 
    </mx:DataGrid> 

答えて

0

データリンクでitemRollOver & itemRollOutを使用して終了しました。

次に、カーソルを手画像に変更する単純なクラスを作成しました。

のDataGrid:

itemRollOver="Cursors.setHandCursor()" itemRollOut="CursorManager.removeAllCursors()" 

カーソルクラス:

package com { 

    import mx.managers.CursorManager; 
    import mx.managers.CursorManagerPriority; 

    public class Cursors extends CursorManager { 

    private static var handCursorList:Array = []; 

    public static function setHandCursor():void { 
     [Embed(source="../images/hand.png")] 
     var handCursorClass:Class; 
     handCursorList.push(setCursor(handCursorClass, CursorManagerPriority.MEDIUM)); 
    } 
    } 
} 
0

私はitemRendererを作成し、MouseEvent.ROLL_OVERMouseEvent.ROLL_OUTイベントのイベントリスナーを追加します。イベントハンドラでは、cursorManagerを使用してカーソルを変更できます。これには、ユーザーがカーソルをホバーしている行のデータまたは条件に基づいてカーソルを変更できるという利点もあります。

Here's an exampleコンポーネントのマウスオーバー時にカーソルを変更する場合。うまくいけば、これはあなたが正しい方向にスタートすることを望みます。

関連する問題