2012-04-12 72 views
0

使用下面的SQLite聲明:Flex中,把SQLite的結果成的ItemRenderer

選擇Customer,SUM(OrderAmount)AS TotalOrder FROM OrdersTable中GROUP BY客戶

我得到的總和的結果(總訂單)

如何將上述結果放入itemRenderer label.text中?

<s:ItemRenderer> 
    <s:Label id="customerName" text=??? /> 
    <s:Label id="totalOrder" text=??? /> 
</s:ItemRenderer> 

感謝

回答

2

每當我們設定的數據,如果你使用的是自定義,然後itemrendere做這個自動設置爲其項目渲染器, 一個數據提供程序...

[Bindable] private var _customerName:String; 
[Bindable] private var _totalOrder:String; 

override public function set data(value:Object):void{ 
    this.data = value; 
    _customerName = value. property //propertyName containing customer name 
    _totalOrder = value. property //propertyName containing totalOrder 
} 

    <s:Label id="customerName" text="{_customerName}" /> 
    <s:Label id="totalOrder" text="{_totalOrder}" /> 

<s:ItemRenderer>  
    <s:Label id="customerName" text="{data.properyNamecontainCustomerName}" />  
    <s:Label id="totalOrder" text="={data.properyNamecontaintotalOrder} " />  
</s:ItemRenderer> 
+1

錯過了......被那麼多好:)回答! – 2012-04-12 06:15:49

+1

絕對不要在ItemRenderers中進行綁定。這被認爲是不好的做法。它可能會導致性能問題,最糟糕的情況是內存泄漏。因此,你應該總是重寫'set data'函數。 – 2012-04-12 07:10:37

+0

@DennisJaamann有趣的是,我不知道在IR中使用綁定是一個不好的做法,因爲很多書籍/網站都使用它。很高興知道。 – jameslcs 2012-04-12 14:56:34

0

ItemRenderer的有data Flex List控件在每個渲染器上設置的屬性。您可以將Labeltext屬性綁定到數據,覆蓋data屬性的setter或爲「dataChange」事件添加事件偵聽器。

當綁定你可以使用大括號的表達式是這樣的:

<s:Label text="{data.customerName}" /> 

這是假設你的List數據提供者是人口W /具有財產customerName的對象;)

其他

兩種方法要求您編寫一些代碼來設置標籤的文本屬性。

你可以找到使用Flex的ItemRenderer,諸如這些的例子很多: