Flex:在函数中使用所选的DataGrid项

时间:2012-05-07 11:48:00

标签: flex mobile datagrid selecteditem

我在移动Flex(4.6)应用程序中使用spark Datagrid。当在网格中选择一行时,我想触发一个函数并在同一个函数中使用所选项的内容。这是我的Datagrid

<s:DataGrid id="patientGrid" x="317" y="211" width="393" height="177"
            dataProvider="{patientInfo}" gridClick="patientSelect(event)">
    <s:columns>
        <s:ArrayList>
            <s:GridColumn dataField="FirstName" headerText="First Name"/>
            <s:GridColumn dataField="LastName" headerText="Last Name"/>
            <s:GridColumn dataField="DateOfBirth" headerText="Date Of Birth"/>
            <s:GridColumn dataField="Gender" headerText="Gender"/>
        </s:ArrayList>
    </s:columns>
</s:DataGrid>

当选择一个项目时,患者选择的功能需要能够处理所选项目的内容。

我希望我的问题很清楚,谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

使用GridSelectionEvent.SELECTION_CHANGE事件有两个原因:

  • 它将提供有关选择了哪些单元格的信息
  • 只要选择发生变化就会被触发(如果您只对鼠标点击做出反应,则忽略键盘导航/选择)

<s:DataGrid id="dg" selectionChange="onSelectionChange(event)" />

private function onSelectionChange(event:GridSelectionEvent):void {
    var index:int = event.selectionChange.rowIndex;
    var patient = dg.dataProvider.getItemAt(index);
    patientSelect(patient);
}