【问题标题】:as3 flash multiple checkboxes get selected on single clickas3 flash 多个复选框在单击时被选中
【发布时间】:2011-07-12 19:59:34
【问题描述】:

我已经成功地从 mysql 填充数据网格。但是当我单击一个复选框并向下滚动时,我发现又选中了一个复选框。 即使是我手动选择的相同数量的额外复选框也会被选中。 例如,如果我选择 10 个复选框并向下滚动,则会再选择 10 个复选框。奇怪:(

对我的代码的任何帮助将不胜感激!

我使用下面的 cellrender 类让复选框显示在数据网格中。

http://www.actionscript.org/forums/showthread.php3?t=234416

这是我的代码。

for (varName in returnObj) {
var plid                = int   (returnObj[varName]["plid"]);
var varState            = String(returnObj[varName]["state"]);
var varCity             = String(returnObj[varName]["city"]); 

 arrDP.push({        //arrDP is array defined
  //Column          Value
  Select          : plid, 
  State           : varState,
  City            : varCity
});


var select:DataGridColumn        = dg.addColumn("Select");
var state :DataGridColumn        = dg.addColumn("State");
var city  :DataGridColumn        = dg.addColumn("City");    
dg.dataProvider                  = dp; //dg IS DATAGRID NAME AND dp IS DATAPROVIDER
select.cellRenderer              = ButtonRenderer; // ButtonRenderer is a class for rendering CHECKBOX
var dp:DataProvider              = new DataProvider(arrDP);
} 

【问题讨论】:

    标签: flash actionscript-3


    【解决方案1】:

    我快速浏览了该链接,如果您仔细阅读该页面提供的源代码实际上是损坏的代码,那么作者抱怨的那个是行不通的。这个问题似乎没有得到解决。

    您可能正确地使用了损坏的对象。

    Try this implementation.

    看起来更干净(并且实际上已评论)。

    【讨论】:

    • 谢谢,我使用了你提到的类。但是它抛出以下错误1020:方法标记覆盖必须覆盖另一个方法。
    • 因为类'extends CheckBox'意味着'CheckBox'必须有一个函数'set data',这也是作者使用'override public function'的原因。你必须确保'import mx.controls.CheckBox;'真的是在导入你想要的东西。
    • 你被抛出的错误是说你试图覆盖(或替换)一个不存在被覆盖(或替换)的函数。
    猜你喜欢
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 2015-06-19
    • 1970-01-01
    相关资源
    最近更新 更多