在 Flex 3 TileList 中设置 RowCount 和 ColumnCount

发布于 2024-09-25 09:45:35 字数 287 浏览 6 评论 0原文

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

关于如何处理这个问题有什么建议吗?

谢谢。

-拉克斯米迪

I'm using the TileList in a Flex 3 website. I need to set the rowCount and columnCount to factors of the total number of items in my array. For example, let's say that there are 15 items in my array. Then, I'd like to set the rowCount to 3 and the columnCount to 5 (3x5=15). Or if I had 16 items in the array, then I'd like to set the rowCount to 4 and the columnCount to 4 (4x4=16). The problem is that the length of the array varies. It's pulled from a database.

Any suggestions on how to handle this problem?

Thank you.

-Laxmidi

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

匿名。 2024-10-02 09:45:35

我想您已经完成了该过程,将项目加载到 ArrayCollection(我们称之为 A)中,它是 TileList 的 dataProvider。

在这种情况下,您可以将类似的内容添加到创建 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,其中 R=C 如果 A.length 是正方形,否则它将尽可能接近正方形,而R>C(由于垂直与水平滚动,这通常是理想的)。

I suppose you already have the process finished up to a point, where you load your items into an ArrayCollection (lets call it A), which is a dataProvider of the TileList.

In that case, you can just add something like this into the service callback, where the AC gets created:

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

This code gives you RxC TileList where R=C if A.length is a square, otherwise it will be as close to square as possible, while R>C (which is usually desirable due to vertical vs. horizontal scroll).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文