2010-10-20 58 views
1

我正在創建一個Dashcode應用程序,該應用程序可顯示贏得一個或多個獎項的產品。Dashcode - 與價值變形金剛的樂趣

數據源具有用於每個所述產品可能贏得(產品可能贏得多個獎勵)獎勵的列/字段。如果他們贏得了該獎項,則該列爲'Y',否則爲空。

所以我從數據源中的列綁定到一個圖像對象,然後使用值轉換設置正確的SRC的形象,如果他們贏得了大獎。這工作正常,只需要很少的代碼。只要是這樣的:

myHasGoldAward = Class.create(DC.ValueTransformer,{ 
transformedValue: function(value){ 
    if (value == 'Y') { 
     value = "Images/GoldAward.png"; 
} 
    return value; 
} 

皺紋是我結合僅列表示,如果他們贏得了一定的級別獎(即金,銀,銅獎。),但還有另一種指示類型列的產品(即書籍,玩具,音頻,視頻)。每個不同類型的產品的獎勵標誌都是不同的。金書獎與黃金玩具獎不同。

我需要能夠從訪問以便能夠確立正確的形象,爲我的獎值的變壓器內的另一列。

有誰知道語法從價值變壓器內部訪問數據源的另一列?

謝謝!

+0

我從來沒有嘗試過這一點,但是當你從你的數據源兩個元素連接到你的對象發生什麼?我知道是可能的,可能答案更接近你正在尋找的答案; – nacho4d 2010-10-20 02:31:15

+0

你可能會做些什麼,但它不漂亮。如果您設置兩個不同的數據源,則會將值轉換器調用兩次。你可以爲lastAwardLevel設置一個全局變量,然後根據第二遍中的全局變量設置圖形。很難相信沒有更好的方法。即便如此,我現在也會嘗試。 – tonyopp 2010-10-20 02:47:05

+0

喜tonyopp ...... 你找到這個答案?現在把我的頭髮撕掉。我有一種感覺,就是在valueTransformer函數中使用dashcode.getDataSource('dataSource')和valueForKey,但無法在沒有任何文檔的情況下找到它。 – MikeyB 2011-04-01 18:45:30

回答