在我的flex 3应用程序中,我有5个带有文本框的字段。我正在使用datagrid进行编辑和更新过程。我希望在数据网格中选择一行时,数据显示在相应的文本框中。
答案 0 :(得分:1)
这是一个示例代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.events.ListEvent;
private function onChange(event:ListEvent):void
{
txt1.text = grd.selectedItem.label1.toString();
txt2.text = grd.selectedItem.label2.toString();
txt3.text = grd.selectedItem.label3.toString();
txt4.text = grd.selectedItem.label4.toString();
txt5.text = grd.selectedItem.label5.toString();
}
]]>
</mx:Script>
<mx:XML id="gridXML" xmlns="">
<root>
<item>
<label1>A1</label1>
<label2>A2</label2>
<label3>A3</label3>
<label4>A4</label4>
<label5>A5</label5>
</item>
<item>
<label1>B1</label1>
<label2>B2</label2>
<label3>B3</label3>
<label4>B4</label4>
<label5>B5</label5>
</item>
<item>
<label1>C1</label1>
<label2>C2</label2>
<label3>C3</label3>
<label4>C4</label4>
<label5>C5</label5>
</item>
<item>
<label1>D1</label1>
<label2>D2</label2>
<label3>D3</label3>
<label4>D4</label4>
<label5>D5</label5>
</item>
<item>
<label1>E1</label1>
<label2>E2</label2>
<label3>E3</label3>
<label4>E4</label4>
<label5>E5</label5>
</item>
<item>
<label1>F1</label1>
<label2>F2</label2>
<label3>F3</label3>
<label4>F4</label4>
<label5>F5</label5>
</item>
</root>
</mx:XML>
<mx:VBox>
<mx:HBox id="hbox">
<mx:TextInput id="txt1"/>
<mx:TextInput id="txt2"/>
<mx:TextInput id="txt3"/>
<mx:TextInput id="txt4"/>
<mx:TextInput id="txt5"/>
</mx:HBox>
<mx:DataGrid id="grd" dataProvider="{gridXML.item}" change="{onChange(event)}">
<mx:columns>
<mx:DataGridColumn id="label1" dataField="label1" />
<mx:DataGridColumn id="label2" dataField="label2" />
<mx:DataGridColumn id="label3" dataField="label3" />
<mx:DataGridColumn id="label4" dataField="label4" />
<mx:DataGridColumn id="label5" dataField="label5" />
</mx:columns>
</mx:DataGrid>
</mx:VBox>
</mx:Application>
使用Datagrid 更改活动和 selectedItem 填充TextBox的
希望有所帮助