如何在没有鼠标事件的情况下自动更新动作脚本中的数据网格?

时间:2011-06-25 10:53:20

标签: flex actionscript-3 datagrid

我正在使用一个flex应用程序,它使用消息处理程序事件从java类文件中提取数据。收到的消息字符串将添加到ArrayCollection中。该字符串由codeID和与codeID相关的其他值组成。已在数据网格中显示详细信息。 codeID是随机生成的,并且每秒都被推送到flex。现在,问题是,我需要更新datagrid单元格值,例如,如果我已将codeID的(0001,0007,0005,0003)推送到前端,则显示数据网格中每个codeID的相应值,第二个(0001)的实例应该更新现有行(0001)中的记录。我试图使用搜索算法检查ArrayCollection中是否存在codeID,但不知道如何继续进行。

任何帮助都非常感激。提前谢谢。

1 个答案:

答案 0 :(得分:1)

按升序对ArrayCollection进行排序并刷新相同的内容。

var dataSort:Sort = new Sort();

dataSort.fields =  [new SortField("code", true, false), new SortField("time", true, false)];


Collection.sort = dataSort;

Collection.refresh();

使用二进制搜索检查codeID是否存在并检索索引。使用,

collection.removeItemAt(index); 

将删除先前的codeID(0001)记录并插入相同的当前记录。