【问题标题】:combobox in datagrid cellrenderer数据网格单元渲染器中的组合框
【发布时间】:2011-03-27 18:37:24
【问题描述】:

搜索了很长时间,但没有运气:

我需要在数据网格的列中放置一个组合框。用户只需要从现有的组合框项目中选择一个值。 我知道我需要使用自定义单元渲染器。请在下面查看我当前的尝试。
此尝试成功 将一个组合框插入到数据网格中,但 组合框中没有任何数据。事实上,当我点击datagrid中的combobox时,它和舞台上没有dataProvider的普通combobox是一样的。换句话说,它甚至没有打开。

因此,我需要知道如何修改我的 cellrenderer 以正确地将数据添加到组合中并接受用户在从组合框中选择值时所做的更改。

任何帮助将不胜感激!请注意,我使用的是 AS3,而不是 AS2,也不是 Flex。

包{

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;
    }
} 

}

【问题讨论】:

    标签: actionscript-3 datagrid combobox flash-cs5


    【解决方案1】:

    我认为这里的问题是,您的 ComboBoxCell 类不仅 是 一个 ComboBox(通过 extends ComboBox 语句)而且有 一个组合框(通过_mycombo 类变量)。您正在向 ComboBoxCell 的内部 ComboBox (_mycombo) 添加列表项,但 DataGrid 显示的 ComboBoxCell 没有任何要显示的项目。

    我认为您需要做的就是删除内部 ComboBox 变量 (_mycombo) 并将构造函数中的 addItem 语句从 _mycombo.addItem(...) 更改为 addItem(...)。

    【讨论】:

      猜你喜欢
      • 2018-10-15
      • 1970-01-01
      • 1970-01-01
      • 2014-07-21
      • 2015-07-09
      • 2020-03-11
      • 1970-01-01
      • 2019-05-14
      • 2011-10-02
      相关资源
      最近更新 更多