有没有办法让Flex 3 Datagrid只显示arrayCollection的第一个节点,而不是显示所有arrayCollection的数据?
myDGArray = [
{Name: "Judy", Talent: 'Pole-Dancing', Score: "40"},
{Name: "Jane", Talent: 'Yodelling', Score: "65"},
{Name: "Jim", Talent: 'Singing', Score: "82"}
]
myAC:ArrayCollection = new ArrayCollection(myDGArray);
如果我将datagrid的dataProvider设置为myAC,那么myAc的所有结果都将列在dataGrid中。如何让它只显示第一个人的数据,不那么热门的朱迪?
(myDGArray中的数据实际上来自数据库调用。所以,我想立即将其全部返回而不是进行多次服务器调用。)
我的目标是让datagrid加载第一个人的数据。然后让一个comboBox控制dataGrid中显示的数据。因此,如果用户在comboBox中选择“Jim”,那么Jim的数据将显示在dataGrid中。
有任何建议或意见吗?
谢谢。
-Laxmidi
答案 0 :(得分:2)
试试这个
<mx:DataGrid dataProvider="myAC">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="Name"/>
<mx:DataGridColumn headerText="Talent"/>
<mx:DataGridColumn headerText="Score"/>
</mx:columns>
</mx:DataGrid>
答案 1 :(得分:0)
如果您始终只想在DataGrid中显示一条记录,那么您可能不需要使用(相当重的)DataGrid组件。我会将数据提供程序分配给组合框,并提供一些简单的HBox with Labels以获取详细信息。您可以将标签文本绑定到所选组合框项的任何细节:
<mx:Label text="{'Talent: " + myCombo.selectedItem.Talent}"/>
答案 2 :(得分:0)
试试这个
<mx:DataGrid dataProvider="myAC">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="Name"/>
<mx:DataGridColumn headerText="Talent"/>
<mx:DataGridColumn headerText="Score"/>
</mx:columns>
</mx:DataGrid>