在创建完成时将spark数据网格中的值显示为标签

时间:2013-09-16 12:32:16

标签: ios flex flash-builder4.5

我必须使用rss字符串。 基本上我必须使用网格中的数据。

我在datagrid的更改处理程序上有以下函数;这意味着当我点击任何项目时,所选的数据字段行将绑定到标签,如下所示:

protected function dg_selectionChangeHandler(event:GridSelectionEvent):void
{               
            const eventGrid:Grid = event.currentTarget.grid;
            var currentIndx:int = eventGrid.selectedIndex;
            var currentDataItem:Object = eventGrid.selectedItem;
            selIndex.text = String(currentIndx);
            txtSource.text = String(currentDataItem.link);              
            txtSource.visible = false;
            HttpGetUrl(txtSource.text);
}

它对我来说很好。每当我选择网格中的任何项目时,它会将行值绑定到我定义的标签。

但是,当datagrid第一次初始化时没有填充值,或者我应该说第一次datagrid出现在屏幕上时,当selectedindex = 0时,该行的值不会填充到标签中。我也想要那些datagrid第一次初始化时的值也是Code,如下所示:

protected function dg_creationCompleteHandler(event:FlexEvent):void
{               
            const eventGrid:Grid = event.currentTarget.grid;
            var currentIndx:int = eventGrid.selectedIndex;
            var currentDataItem:Object = eventGrid.selectedItem;
            selIndex.text = String(currentIndx);
            txtSource.text = String(eventGrid.selectedItem.link);
            txtSource.visible = true;
}

和datagrid的代码是:

<s:DataGrid id="dgNews" x="10" y="70" width="300" height="623" click="dg_clickHandler(event)" color="#000000" visible="true" horizontalScrollPolicy="off" 
            variableRowHeight="true" selectionChange="dg_selectionChangeHandler(event)" creationComplete="dg_creationCompleteHandler(event)" selectedIndex="0">
    <s:columns>
        <s:ArrayList>               
            <s:GridColumn dataField="title" headerText="Title" width="300"/>
        </s:ArrayList>
    </s:columns>
</s:DataGrid>

有人能告诉我如何将默认的selectedindex = 0值绑定到我定义的标签上吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下没有绑定...你只是给一些textinputs的所选行的一些值... 使用绑定意味着您在数据网格和您的案例中的一些其他组件输入之间做了一些粘合 要做到这一点,你必须做这样的事情:

  <s:TextInput text="{dgNews.selectedItem.link}"/>

这样输入就会绑定到网格的选定行值。

虽然另一件事可能尚不清楚,但是当创建网格时,并不意味着它已经获取了数据提供者的数据,因此没有选定的行...所以你不需要那个事件侦听器绑定将处理...这样你甚至不需要选择事件......也是

简而言之,这部分代码都是mxml,只是textinput示例的方式,你可以在没有任何函数的情况下处理它。

如果要在数据到达时选择第一行,则只需处理该事件并设置所选的网格索引。