Chcę utworzyć DataGrid w ten sposób:
{Label} {TextInput}
{Label} {ComboBox}
Mogę użyć „ComboBoxGridItemEditor” itp., AleProblem polega na tym, że ItemEditors i renderers mają zastosowanie do całej kolumny. Ale potrzebuję różnych rodzajów elementów sterujących w różnych wierszach, ale w tych samych kolumnach.
Dla lepszego zrozumienia zrobiłem na przykład zrzut ekranu z VS:
Chcę utworzyć tabelę właściwości taką jak MXML, ponieważ chcę ułatwić edycję tej tabeli w przyszłości.
Czy ktoś ma podobne zadanie lub jakieś pomysły, jak to zrobić? Dzięki.
Odpowiedzi:
0 dla odpowiedzi № 1Możesz zdefiniować funkcję fabryczną, aby utworzyć itemRenderers w zależności od danych dla danego wiersza. Spojrzeć na itemRendererFunction.
Przykład z tutaj:
private function selectRenderer(item:Object):ClassFactory {
var classFactory:ClassFactory;
if(item is IVisualElement){
// If the item is a Flex component, use DefaultComplexItemRenderer.
classFactory = new ClassFactory(DefaultComplexItemRenderer);
}
else if (item is Object){
// If the item is an Object, use MySimpleItemRendererFunction.
classFactory = new ClassFactory(MySimpleItemRendererEmployee);
}
return classFactory;
}