3

3列のs:DataGridがあります。最後の2列のテキストを右揃えにしたいのですが、機能させる方法が見つかりません。カスタムレンダラーを作成し、textAlignを右に設定しようとしましたが、機能しません。

これが私のカスタムレンダラーです:

<?xml version="1.0" encoding="utf-8"?>

<fx:Script>
    <![CDATA[
    ]]>
</fx:Script>

<s:Label id="lblData" top="9" left="7" text="{data.outgoingCount}" fontWeight="bold" textAlign="right"/>

グリッド内のセルを正しく整列させる方法を本当に知りたいです。助けてくれる人に感謝します。

4

4 に答える 4

2

テキストのみを表示する必要がある場合は、DefaultGridItemRendererクラスを見てください。アイテム レンダラーを指定しない場合、これが SparkDataGridで使用されます。

DefaultGridItemRenderertextAlignのようなスタイルを持ってLabelいます。

カスタム レンダラーが機能しない理由はすぐにはわかりません。

于 2012-07-08T20:33:02.310 に答える
0

謝辞: この Esp については、STACKOVERFLOW の多くの記事のおかげです。100 万形式ではなく Lakh 形式を使用するための Java の数値形式

新しいFlex AIRアプリケーションでは、1つの優れたイノベーションRIGHT ALIGN + インドのカンマ区切りを行いました

これは、カスタム アイテム レンダリングによって行われます。多くの検索とコード作業が必要です Java から適応しましたが、Java、C#、および AS3 は非常に似ているため、簡単に移植できます

インド以外では、何十億円も好きな人はいません。100 万億ドルに満足している人々もいますが、私たちインド人は数十億ドルを考え、数千万ルピーを夢見ています。そして百万(10万ルピー)のトラ・コンフシンを見つける

途中で、非常に一般的なニーズである RIGHT ALIGN も行いました

Flex マークアップ

<s:GridColumn id="dmbtr" headerText="Amt (INR)" dataField="dmbtr" >
  <s:itemRenderer>
    <fx:Component>
      <s:GridItemRenderer>
        <s:Label id="MyText" top="9" left="7" alpha="1"
                 text="{leftPad(data.dmbtr,10)}"
                 fontFamily="Lucida Console" textAlign="right"/>
      </s:GridItemRenderer>
    </fx:Component>
  </s:itemRenderer>
</s:GridColumn>

AS3 機能

public function leftPad(inp:Number,size:int):String {

  var lstr:String=Math.round(inp).toString();

// 数千ルピーのインディアン スタイル

  var pat3:RegExp = /(\d+)(\d{3})$/;
  lstr = lstr.replace(pat3, "$1,$2");

  var pat2:RegExp = /(\d+)(\d{2},.+)/;

  var pat1:RegExp = /\d{3,},.+/;

  while(lstr.match(pat1)) 
    lstr = lstr.replace(pat2, "$1,$2");

// 右揃え部分

  var strLen:int = lstr.length;
  var padLen:int = size - strLen;

  if (padLen <= 0) 
    return lstr;  

  var myspaces:String="                    ";  // 20 OK

  return myspaces.substring(0,padLen)+lstr;

}

トリックは、左パッドで固定幅フォントを使用することです

私の要件は最も近いルピーでした

小数が必要な場合 (INR の場合は paise)、Number の toFixed メソッドを使用し、pat3 を
var pat3:RegExp = /(\d+)(\d{3}.*)$/;として変更します。

右揃え部分はインドのコンマの後

于 2014-04-27T12:21:26.977 に答える