2010-09-28 54 views
0

我在Flex 3網站中使用TileList。我需要將rowCount和columnCount設置爲我數組中項目總數的因子。例如,假設我的數組中有15個項目。然後,我想將rowCount設置爲3,將columnCount設置爲5(3x5 = 15)。或者,如果我在數組中有16個項目,那麼我想將rowCount設置爲4,將columnCount設置爲4(4x4 = 16)。問題是數組的長度不一樣。它從數據庫中提取。在Flex 3中設置RowCount和ColumnCount TileList

有關如何處理此問題的任何建議?

謝謝。

-Laxmidi

回答

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其中R = C,如果則爲a.length是一個正方形,否則它將盡可能接近正方形,而R> C(通常由於垂直滾動與水平滾動而可取)。