通貨記号GridViewで左揃えと値右揃え

nadzdaim

DevExpress GridViewで通貨記号を左に、値を右に揃えることは可能ですか? これが画像の詳細リンクです

天王星

このタスクは、通常のテキスト形式を超えています。これを行うには、セルの内容を手動で描画する必要があります。

XtraGridは、この目的のためにイベントを提供します:CustomDrawCellイベント引数オブジェクトは、手動でのセルテキストを描画するために必要なグラフィックオブジェクト、セル境界、および他の情報への参照を提供します。

private void OnGridViewCustomDrawCell(object sender, RowCellCustomDrawEventArgs e) {
    switch (e.Column.FieldName) {
        case "Debit":
            DrawDebitCell(e);
            break;  
    }       
}

private void DrawDebitCell(RowCellCustomDrawEventArgs e) {
    e.Handled = true;
    string text = string.Format(CultureInfo.CurrentCulture, "{0} {1:n2}", CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol, e.CellValue);
    Size textSize = e.Appearance.CalcTextSizeInt(e.Cache, text, int.MaxValue);
    e.Appearance.DrawBackground(e.Cache, e.Bounds);
    if (Convert.ToInt32(textSize.Width) > e.Bounds.Width)
        e.Appearance.DrawString(e.Cache, text, e.Bounds);
    else {
        StringFormat stringFormat = e.Appearance.GetStringFormat();
        string valueText = string.Format(CultureInfo.CurrentCulture, "{0:n2}", e.CellValue);
        stringFormat.Alignment = StringAlignment.Near;
        e.Appearance.DrawString(e.Cache, CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol, e.Bounds, e.Appearance.Font, stringFormat);
        stringFormat.Alignment = StringAlignment.Far;
        e.Appearance.DrawString(e.Cache, valueText, e.Bounds, e.Appearance.Font, stringFormat);
    }
}

このアプローチにはいくつかの欠点があります。

  • 手動で描画されたセルコンテンツは、組み込みのエクスポートおよび印刷システムでは使用されません。

  • 値と通貨記号が重ならないように、テキストの幅を計算する必要があります。この目的のために、イベント引数を介して使用可能なAppearanceObjectオブジェクトのCalcTextSizeIntメソッドを使用できます。DevExpressは独自のテキストレンダリングエンジンを使用するため、この場合、標準のGraphics.MeasureStringメソッドは役に立ちません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

通貨パイプangular2で右/左揃えを設定する方法

分類Dev

Bootstrapのdiv内で左揃えと右揃え

分類Dev

PHPWordでは、右揃えと左揃えの単語

分類Dev

同じ行で右揃えと左揃えを反転

分類Dev

Python 3-階段を右揃えから左揃えに変換します。#記号とスペースで構成されます

分類Dev

coutを使用して、特定の形式で数値を印刷します(左揃えと右揃え)

分類Dev

右揃えと左揃えで画面全体にTextViewを均等に配置します

分類Dev

左揃えと右揃えの文字タイプの連結

分類Dev

ヘッダーを左揃えと右揃えにしたい

分類Dev

右揃えの数値を前のドル記号でフォーマットします

分類Dev

左揃えと中央揃えdiv

分類Dev

右揃え

分類Dev

Markdownで右揃えと両端揃えを行う方法は?

分類Dev

タイトルと画像を左揃え、テキストを右揃えでリストを作成しますか?

分類Dev

JCheckBox内に左揃えと右揃えのラベルを付ける

分類Dev

Javaでのprintfとの左揃え

分類Dev

フッターを右と左に揃えることができません

分類Dev

CSS-3リンク-左揃え1、右揃え2

分類Dev

(ImageViewとTextView)を左に、(ImageViewとTextView)を右に揃える方法

分類Dev

テキストを記号で揃えることはできますか?

分類Dev

チャンクの左側と右側を揃える方法

分類Dev

左と右の2つの要素を揃える

分類Dev

右入力と左ラベルを揃えます

分類Dev

特定の効果で列(右/左)を揃える

分類Dev

箇条書きを左ではなく右に揃えます

分類Dev

省略記号とボタンを使用してテキストを右揃えにします(react-js)

分類Dev

JavaFXTextAreaの右揃え

分類Dev

Pythonを右揃え

分類Dev

Css FlexboxNavbar右揃え

Related 関連記事

  1. 1

    通貨パイプangular2で右/左揃えを設定する方法

  2. 2

    Bootstrapのdiv内で左揃えと右揃え

  3. 3

    PHPWordでは、右揃えと左揃えの単語

  4. 4

    同じ行で右揃えと左揃えを反転

  5. 5

    Python 3-階段を右揃えから左揃えに変換します。#記号とスペースで構成されます

  6. 6

    coutを使用して、特定の形式で数値を印刷します(左揃えと右揃え)

  7. 7

    右揃えと左揃えで画面全体にTextViewを均等に配置します

  8. 8

    左揃えと右揃えの文字タイプの連結

  9. 9

    ヘッダーを左揃えと右揃えにしたい

  10. 10

    右揃えの数値を前のドル記号でフォーマットします

  11. 11

    左揃えと中央揃えdiv

  12. 12

    右揃え

  13. 13

    Markdownで右揃えと両端揃えを行う方法は?

  14. 14

    タイトルと画像を左揃え、テキストを右揃えでリストを作成しますか?

  15. 15

    JCheckBox内に左揃えと右揃えのラベルを付ける

  16. 16

    Javaでのprintfとの左揃え

  17. 17

    フッターを右と左に揃えることができません

  18. 18

    CSS-3リンク-左揃え1、右揃え2

  19. 19

    (ImageViewとTextView)を左に、(ImageViewとTextView)を右に揃える方法

  20. 20

    テキストを記号で揃えることはできますか?

  21. 21

    チャンクの左側と右側を揃える方法

  22. 22

    左と右の2つの要素を揃える

  23. 23

    右入力と左ラベルを揃えます

  24. 24

    特定の効果で列(右/左)を揃える

  25. 25

    箇条書きを左ではなく右に揃えます

  26. 26

    省略記号とボタンを使用してテキストを右揃えにします(react-js)

  27. 27

    JavaFXTextAreaの右揃え

  28. 28

    Pythonを右揃え

  29. 29

    Css FlexboxNavbar右揃え

ホットタグ

アーカイブ