2009-02-25 81 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

相关问题