Как сделать так, чтобы Flex 3 Datagrid показывал только одну строку результатов ArrayCollection? - PullRequest
0 голосов
/ 11 августа 2010

Есть ли способ заставить 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);

Если я установлю dataProvider сетки данных как myAC, то все результаты myAc будут перечислены в dataGrid. Как мне сделать так, чтобы показывались только данные от первого лица, не очень горячая Джуди?

(Данные в myDGArray на самом деле взяты из вызова базы данных. Поэтому я бы хотел вернуть их все сразу, вместо того, чтобы делать несколько вызовов на сервере).

Мои цели - загрузить сетку данных с данными от первого лица. А затем используйте comboBox для управления тем, какие данные отображаются в dataGrid. Итак, если пользователь выбирает «Джим» в поле со списком, то данные Джима отображаются в сетке данных.

Любые предложения или советы?

Спасибо.

-Laxmidi

Ответы [ 3 ]

2 голосов
/ 24 ноября 2010

Попробуйте это

<mx:DataGrid dataProvider="myAC">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="Name"/>
<mx:DataGridColumn headerText="Talent"/>
<mx:DataGridColumn headerText="Score"/>
</mx:columns>
</mx:DataGrid>
0 голосов
/ 24 ноября 2010

Попробуйте это

<mx:DataGrid dataProvider="myAC">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="Name"/>
<mx:DataGridColumn headerText="Talent"/>
<mx:DataGridColumn headerText="Score"/>
</mx:columns>
</mx:DataGrid>
0 голосов
/ 13 августа 2010

Если вы всегда хотите показывать только одну запись в вашей DataGrid, то вам, вероятно, не нужно использовать (довольно тяжелый) компонент DataGrid. Я бы назначил провайдер данных для комбинированного окна и получил бы что-то простое, как HBox с метками для деталей. Вы можете привязать текст метки к любой детали выбранного элемента комбинированного окна:

<mx:Label text="{'Talent: " + myCombo.selectedItem.Talent}"/>
...