2009-02-25 99 views
1

我有一個簡單的問題,似乎沒有一個簡單的解決方案。我有一個數據網格,如果它被點擊並且已經被選中,這些行應該被取消選擇。怎麼做?如何通過單擊取消選擇flex數據網格行?

我正在查看不同的「項目」事件,但行已被選中,因此無法分辨它是否已被選中。

有人可以幫我一個很簡單的東西,我可能錯過了嗎?

回答

2

試試這個:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 

    <mx:Array id="arr1"> 
     <mx:Object label="One fish" /> 
     <mx:Object label="Two fish" /> 
     <mx:Object label="Tree fish" /> 
     <mx:Object label="Four fish" /> 
    </mx:Array> 

    <mx:DataGrid id="dataGrid2" 
        click="test(event)" 
        dataProvider="{arr1}" 
        draggableColumns="false" 
        width="100%" 
        height="100%" > 
        <mx:columns> 
      <mx:DataGridColumn dataField="label" width="50" /> 
     </mx:columns> 
    </mx:DataGrid> 

    <mx:Script> 
     <![CDATA[ 

      private var lastIndex :Number = -1; 
      private function test(evt:MouseEvent):void 
      { 
       if(dataGrid2.selectedIndex == lastIndex) 
        dataGrid2.selectedIndex = -1; 

       lastIndex = dataGrid2.selectedIndex; 
      } 

     ]]> 
    </mx:Script> 

</mx:Application> 
+0

謝謝,這是一個簡單和工作方案。我只是想知道你是否可以通過事件處理解決它,所以你不必使用額外的類變量? – ciscoheat 2009-02-25 23:54:58

相關問題