在datagrid中单击行时,如何在相应的文本框字段中显示数据?

时间:2011-04-21 05:32:11

标签: flex datagrid textbox

在我的flex 3应用程序中,我有5个带有文本框的字段。我正在使用datagrid进行编辑和更新过程。我希望在数据网格中选择一行时,数据显示在相应的文本框中。

1 个答案:

答案 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的

希望有所帮助