0

我在 Flex 3 网站中使用 TileList。我需要将 rowCount 和 columnCount 设置为数组中项目总数的因子。例如,假设我的数组中有 15 个项目。然后,我想将 rowCount 设置为 3,将 columnCount 设置为 5(3x5=15)。或者,如果数组中有 16 个项目,那么我想将 rowCount 设置为 4,将 columnCount 设置为 4 (4x4=16)。问题是数组的长度不同。它是从数据库中提取的。

有关如何处理此问题的任何建议?

谢谢你。

-拉克西米迪

4

1 回答 1

1

我想你已经完成了这个过程,你将你的项目加载到一个 ArrayCollection(我们称之为 A)中,它是 TileList 的一个数据提供者。

在这种情况下,您可以在创建 AC 的服务回调中添加类似这样的内容:

for (var i:int=Math.sqrt(A.length)+1e-9;i>0;i-=1)
  if (A.length%i==0)
  {
    tileList.columnCount=i;
    tileList.rowCount=A.length/i;
    break;
  }

此代码为您提供 RxC TileList ,如果 A.length 是正方形,则 R=C ,否则它将尽可能接近正方形,而 R>C (由于垂直与水平滚动,这通常是可取的)。

于 2010-11-04T17:08:59.313 回答