我需要在Flex DataGrid列中获取特定值

时间:2009-07-14 16:31:12

标签: flex

让我解释一下情况......

dg.selectedItems为我提供了所有选择的值,但如果我只需要一个列名称值,那么我应该怎么做。

<mx:DataGridColumn dataField="1" headerText="Email" />

1 个答案:

答案 0 :(得分:4)

dg.selectedItems[itemIndex]["columnName"]

itemIndex =数组中所选项目的索引

注意:这是如果你有allowMultipleSelection = true ...如果只选择一个项目/行使用dg.selectedItem。这将返回所有列的对象。

在下面添加了完整的工作代码示例:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >
   <mx:Script>
   <![CDATA[
    import mx.events.ListEvent;
    import mx.events.ItemClickEvent;
      import mx.collections.*;

      [Bindable]
      private var dp:ArrayCollection = new ArrayCollection( [
         {Artist:'Pavement', Album:'Slanted and Enchanted', Price:11.99},
         {Artist:'Pavement', Album:'Brighten the Corners', Price:12.99},
         {Artist:'Miley Cyrus', Album:'Break Out', Price:10.99}] );


       private function clickItemHandler(event:ListEvent):void{

            if(myGrid.selectedItem != null){
                trace(myGrid.selectedItem["Album"]);
            }

       }

   ]]>
   </mx:Script>

   <mx:DataGrid id="myGrid" width="350" height="200" 
      dataProvider="{dp}" itemClick="clickItemHandler(event);" >
      <mx:columns>
         <mx:DataGridColumn dataField="Album" />
         <mx:DataGridColumn dataField="Price" />
      </mx:columns> 
   </mx:DataGrid>
</mx:Application>