سؤال

ولدي ملف xml توفير البيانات لDataGrid في فليكس 2 يتضمن حقل الأسعار غير منسق (أي: أنها مجرد رقم). يمكن لأحد أن يقول لي كيف لي أن أعتبر أن DataField الخاص وتهيئته - إضافة رمز العملة، وضعت في فواصل آلاف الخ شكر. S.

هل كانت مفيدة؟

المحلول

وكما ذكر أعلاه وسيلة سهلة للقيام بذلك سيكون لإضافة labelFunction إلى العمود المحدد وتنسيق البيانات في هناك.

كثير من الأحيان أجد أن من الأسهل بكثير للعمل مع كائنات XML ثم على التوالي وذلك عادة إذا أتلقى XML من وظيفة أود أن إنشاء كائن ومحلل لهذا XML ويمكنك تنسيق البيانات داخل محلل أيضا إذا أردت .

وهناك طريقة أخرى للتعامل مع هذا من شأنه أن يكون داخل itemRenderer. مثال:

<mx:DataGridColumn id="dgc" headerText="Money" editable="false">
    <mx:itemRenderer>
      <mx:Component>
         <mx:HBox horizontalAlign="right">
        <mx:CurrencyFormatter id="cFormat" precision="2" currencySymbol="$" useThousandsSeparator="true"/>
            <mx:Label id="lbl" text="{cFormat.format(data)}" />
         </mx:HBox>
      </mx:Component>
    </mx:itemRenderer>
</mx:DataGridColumn>

نصائح أخرى

وشكرا جزيلا على إجاباتك ... أنها ساعدت بشكل كبير.

في نهاية ذهبت لحل كان يشتمل على العناصر الثلاثة التالية:

<mx:DataGridColumn headerText="Price" textAlign="right"  labelFunction="formatCcy" width="60"/>

public function formatCcy(item:Object, column:DataGridColumn):String
        {
         return euroPrice.format(item.price);
        }

<mx:CurrencyFormatter id="euroPrice" precision="0" 
    rounding="none"
    decimalSeparatorTo="."
    thousandsSeparatorTo=","
    useThousandsSeparator="true"
    useNegativeSign="true"
    currencySymbol="€"
    alignSymbol="left"/>

وأنا لا أعرف ما إذا كان هذا هو الحل الصحيح، ولكن يبدو للعمل (في الوقت الحاضر)، شكرا لك مرة أخرى، S ...

وماذا عن الطبقة CurrencyFormatter

وانظر <لأ href = "http://livedocs.adobe.com/flex/2/docs/wwhelp/wwhimpl/common/html/wwhelp.htm؟context=LiveDocs_Parts&file=00001087.html" يختلط = "نوفولو noreferrer "> هنا للمستندات من فليكس 2. من السهل جدا للاستخدام.

ويمكنك استخدام واحدة من هذه في labelFunction على عمود DataGrid لتنسيق الأرقام الخاصة بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top