運がなければこれを一生懸命探しました:
データグリッドの列にコンボボックスを配置する必要があります。ユーザーは、既存のコンボボックス項目から値を選択するだけです。カスタムセルレンダラーを使用する必要があることはわかっています。以下の私の現在の試みを見てください。
この試行は、コンボボックスをデータグリッドに正常に挿入しますが、コンボボックスにデータがありません。実際、データグリッドのコンボボックスをクリックすると、ステージ上の通常のコンボボックスと同じであり、dataProvider はありません。というか、開かない。
したがって、セルレンダラーを変更してデータをコンボに正しく追加し、コンボボックスから値を選択するときにユーザーが行った変更を受け入れる方法を知る必要があります。
どんな助けでも大歓迎です!AS2 ではなく Flex ではなく、AS3 を使用していることに注意してください。
パッケージ {
import fl.controls.ComboBox;
import fl.controls.listClasses.ICellRenderer;
import fl.controls.listClasses.ListData;
import flash.events.Event;
import fl.data.DataProvider;
public class ComboBoxCell extends ComboBox implements ICellRenderer {
private var _listData:ListData;
private var _data:Object;
private var _selected:Boolean;
private var _mycombo:ComboBox = new ComboBox();
public function ComboBoxCell() {
_mycombo.addItem( { label:"MasterCard", data:0 } );
_mycombo.addItem( { label:"Visa", data:1 } );
_mycombo.addItem( { label:"American Express", data:2 } );
trace("drawn");
}
public function set data(d:Object):void {
_data = d;
}
public function get data():Object {
return _data;
}
public function set listData(ld:ListData):void {
_listData = ld;
}
public function get listData():ListData {
return _listData;
}
public function setMouseState(state:String):void{
}
public function get selected():Boolean{
return _selected;
}
public function set selected(value:Boolean):void{
_selected = value;
}
}
}