Flex - добавление новой строки в DataGridColumn

Для начала я очень новичок в Flex.

У меня есть ComboBox, который заполняется выбором из базы данных. Ниже находится Flex Datagrid с DataGridColumns (mx: ниже). Я хотел бы выяснить, что, когда выбор сделан из comboxbox и нажата кнопка добавления, он заполняет следующую строку в столбце datagrid на основе того, что было выбрано. Любые мысли о том, как это можно сделать? Может быть, я не должен использовать комбобокс, просто заполнить datagridcolumn, не уверен, что любой hep будет здорово.

Выбор ComboBox - яблоки, апельсины и груши

Каждый выбор связан с атрибутами.

(Яблоки) nameSpace, countrySpace, infoSpace (Апельсины) nameSpace, countrySpace, infoSpace (Груши) nameSpace, countrySpace, infoSpace

public var ta1:ArrayCollection = new ArrayCollection();

//Is there a better way of writing this?
public function addDataGridColumn():void 
{
 var list:ArrayCollection = templateAttributes;
 var att:TemplateAttribute = new TemplateAttribute();
 (templateProp.dataProvider as ArrayCollection).addItem(att);
}


<mx:datagrid id="templateProp" dataprovider="{templateAttributes}" editable="true">
 <mx:columns>
 <mx:datagridcolumn id="nameSpace" datafield="nameSpace" headertext="Name" editable="{userInEditMode}">
 <mx:datagridcolumn id="valueSpace" datafield="valueSpace" headertext="Value" editable="{userInEditMode}">
 <mx:datagridcolumn id="countrySpace" datafield="countrySpace" headertext="Main Country" editable="{userInEditMode}">
 <mx:datagridcolumn id="infoSpace" datafield="infoSpace" headertext="Information" editable="false">
 <mx:datagridcolumn id="infoSpace" datafield="infoSpace" headertext="Information" editable="false">
 </mx:datagridcolumn></mx:datagridcolumn></mx:datagridcolumn></mx:datagridcolumn></mx:datagridcolumn></mx:columns>
</mx:datagrid>
1 ответ

Перезапись этой функции будет только сбрасывать строку кода:

public function addRow() : void {
var att:TA= new TA();
att.attributeName = "abc";
(template1.dataProvider as ArrayCollection).addItem(att);

Я не знаю, что такое TA, но если вы хотите, чтобы он был еще короче, вы могли бы сделать TA взять attributeName в своем конструкторе. Тогда вы можете сделать это:

public function addRow(attributeName:String) : void {
 (template1.dataProvider as ArrayCollection).addItem(new TA(attributeName));
}

licensed under cc by-sa 3.0 with attribution.