まず、私は Flex を初めて使用します。
データベースからの選択肢が入力された ComboBox があります。その下には、DataGridColumns を持つ Flex Datagrid があります (mx:下にあります)。コンボボックスから選択して追加ボタンをクリックすると、選択された内容に基づいてデータグリッド列の次の行が入力される方法を見つけたいと思います。これを行う方法について何か考えはありますか?たぶん、コンボボックスを使用するべきではなく、データグリッド列にデータを入力するだけです。
コンボボックスの選択肢 - リンゴ、オレンジ、ナシ
各選択肢は属性にリンクされています。
(りんご) 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:HBox>
<mx:ComboBox dataProvider="{templateAttributes}" width="300" prompt="Select a Template Attribute" enabled="{userInEditMode}" labelField="attributeName" />
<mx:Button id="addButton" click="addDataGridColumn();" styleName="addButtonOff" enabled="{userInEditMode}" label="ADD" />
</mx:HBox>
<mx:DataGrid id="templateProp" dataProvider="{templateAttributes}" width="100%" height="100%" editable="true">
<mx:columns>
<mx:DataGridColumn id="nameSpace" dataField="nameSpace" headerText="Name" width="25" editable="{userInEditMode}"/>
<mx:DataGridColumn id="valueSpace" dataField="valueSpace" headerText="Value" width="25" editable="{userInEditMode}" />
<mx:DataGridColumn id="countrySpace" dataField="countrySpace" headerText="Main Country" width="25" editable="{userInEditMode}" />
<mx:DataGridColumn id="infoSpace" dataField="infoSpace" headerText="Information" width="25" editable="false"/>
<mx:DataGridColumn id="infoSpace" dataField="infoSpace" headerText="Information" width="25" editable="false"/>
</mx:columns>
</mx:DataGrid>