如何从Actionscript getter函数中找到返回对象的数量



在我的Flex项目中,我有一个服务函数getItems(),它返回一个Item对象的集合/数组。

函数运行SQL语句,如SELECT * FROM table。因此,我不想使用SELECT COUNT SQL语句。

我知道,如果我使用Flex spark:DataGrid,我可以很容易地获得数据网格的长度来知道行数(在我的情况下,这将是我的getItems()函数返回的对象的数量)。但是,我使用的是mx:AdvancedDataGrid,并且不可能通过与spark:DataGrid相同的方法获得长度。

实际上,我需要动态地创建一组text={ItemName}的标签。使用Vbox和for循环,我可以创建一个标签列表。现在,我有一个随机数作为for循环中的分隔符。我只需要获得getItems()函数返回的对象数量。然后我可以把这个数字放入for循环中,任务就完成了。

至少,我计划这样做。

有更好的方法吗?

PS:我已经广泛地谷歌,但我找不到任何工作的例子,我想做什么。

欢迎提出建议,StackOverflow非常棒!

[EDIT]我最终使用mx:Repeater来完成上面描述的任务。

这个怎么样:

private function getItemsResultHandler(event:ResultEvent):void
{
    var items:ArrayCollection = new ArrayCollection();
    items = event.result as ArrayCollection;
    trace(items.length);
}

我错过了什么吗?这对你有用吗?

var list:IList = getItems();
trace(list.length)

ArrayCollection继承了ListCollectionView的长度属性。这是你需要的吗?

你可以直接做

getItemsResult.lastResult.length 

(getItemsResult.lastResult as ArrayCollection).length

ArrayCollection(getItemsResult.lastResult).length

相关内容

  • 没有找到相关文章

最新更新