У меня есть некоторые иерархические данные, которые я хотел бы показать в Flex Spark DataGrid, выглядящие примерно так:
|------|---------------------------|
| row1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| in | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| outer|---------------------------|
| grid | a component that spans |
| | over multiple columns here|
|----------------------------------|
| row2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| in | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| outer|---------------------------|
| grid | a component that spans |
| | over multiple columns here|
|----------------------------------|
Я пытаюсь использовать пользовательский GridItemRenderer, которыйсодержит внутренний DataGrid.Основная концепция выглядит примерно так:
<s:DataGrid dataProvider="{outerDataProvider}" width="100%" height="100%" variableRowHeight="true">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="name">
<s:itemRenderer>
<fx:Component>
<s:DefaultGridItemRenderer />
</fx:Component>
</s:itemRenderer>
</s:GridColumn>
<s:GridColumn>
<s:itemRenderer>
<fx:Component>
<s:GridItemRenderer>
<s:states>
<s:State name="normal" />
<s:State name="toggled" />
</s:states>
<s:layout>
<s:VerticalLayout />
</s:layout>
<s:HGroup>
<s:DataGrid dataProvider="{data.innerDataProvider}" columns="{outerDocument.myDynamicGeneratedColumns}">
</s:DataGrid>
<s:Group>
<s:ToggleButton label="Toggle" />
</s:Group>
</s:HGroup>
<MyComponent width="100%" height="50" includeIn="toggled" />
</s:GridItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:GridColumn>
</s:ArrayList>
</s:columns>
</s:DataGrid>
У меня возникают серьезные проблемы с производительностью при добавлении внутренней DataGrid.Вертикальная прокрутка ужасно медленная.
Я пытался понять, что оптимизировать, но я не совсем уверен, с чего начать.Внутренний DataGrid должен иметь динамическое число столбцов, и я думаю, что это одна из частей, где нужно что-то делать.
Совершенно неправильно делать что-то подобное?Могу ли я использовать другой компонент, кроме DataGrid, для внутренней структуры Grid и получить лучшую производительность?
Сетка - это, в основном, сетка, содержащая изображения в зависимости от значений внутри каждой строки.
Есть предложения или ссылки на советы по DataGrid?