/ / Wypełnianie DataGrid ze zmienną liczbą kolumn i wierszy w Flex-flex, actionscript-3, actionscript, flexbuilder

Wypełnianie DataGrid ze zmienną liczbą kolumn i wierszy w Flex-flex, actionscript-3, actionscript, flexbuilder

Próbuję dowiedzieć się, jak zarządzać DataGrid na podstawie obiektu XML, jak to:

<matrix rows="5" columns="5">
<column>
<row>0.5</row>
<row>0.21</row>
</column>
<column>
<row>0.6</row>
<row>0.9</row>
</column>
<column>
<row>0.5</row>
<row>0.5</row>
</column>
<column>
<row>0.8</row>
<row>0.4</row>
</column>
</matrix>

Będę musiał wypełnić nazwy kolumn w Datagridna podstawie innego obiektu XML i użyj powyższego XML do wypełnienia każdego z wierszy kolumny.Jestem obecnie w stanie utworzyć Datagrid i zapełnić jego nagłówki kolumn, ale nie jestem pewien, w jaki sposób dodawać wiersze dla każdej kolumny Powyższy kod XML zostanie zaktualizowany z dodanymi i usuniętymi nowymi elementami wiersza i kolumny, co oczywiście będzie wiązało się z datagridem w celu pokazania aktualizacji.

Odpowiedzi:

1 dla odpowiedzi № 1

Czy to prawda, że ​​dane wiersza są potomnekolumny? Jeśli tak jest, musisz najpierw przekształcić dane. DataGrid w Flex i Table w HTML są oparte na konwencji baz danych zawierających wiersze jako pojedyncze rekordy, a nie kolumny.

Jeśli kogo / cokolwiek dostarcza dane odmawia zastosowania się do tego, lepiej będzie manipulować danymi, aby dopasować je do kontroli widoku, a nie odwrotnie, co wydaje się robić teraz.


1 dla odpowiedzi nr 2

Wiersze datagridu będą dynamiczne. Zostanie wypełniona na podstawie liczby elementów w dostawcy danych. Aby jednak kolumny były dynamiczne, musisz zrobić to za pomocą AS.

Datagrid ma właściwość o nazwie "kolumny". zawiera obiekty DataGridColumn dla tego datagridu. Możesz sprawdzić dostawcę danych i dodać lub usunąć DatagridColumns do tablicy "columns".

var cols:Array = [];
for(var i:int = 0;i<dataProvider.length;i++)
{
var DGCol:DataGridColumn = new DataGridColumn();
DGCol.dataField = "data1";
cols.push(DGCol);
}
myDg.columns = cols;