0

ですから、これについて他の質問を見てきましたが、私の生涯、グリッド形式を通貨としてのフロートにすることはできません。これが私の単純なプロジェクトです。4列のgridcontrol1というグリッドコントロールがあります。最後の1つを通貨、他の3つを文字列にします。

public partial class Form1 : Form
{
    private DevExpress.XtraGrid.GridControl gridControl1;
    private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
    private DevExpress.XtraGrid.Columns.GridColumn gridColumn1;
    private DevExpress.XtraGrid.Columns.GridColumn gridColumn2;
    private DevExpress.XtraGrid.Columns.GridColumn gridColumn3;
    private DevExpress.XtraGrid.Columns.GridColumn gridColumn4;

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        ArrayList test = new ArrayList();
        test.Add(new MyObject() { myCurrency = 1.5F, prop1 = "hi", prop2 = "hi2", prop3 = "hi3" });

        gridColumn4.DisplayFormat.FormatString = "c";
        gridColumn4.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;

        gridControl1.DataSource = test;
        gridControl1.MainView.PopulateColumns();
        gridControl1.RefreshDataSource();
    }
}

public class MyObject
{
    public string prop1 { get; set; }
    public string prop2 { get; set; }
    public string prop3 { get; set; }
    public float myCurrency { get; set; }
}

「c」、「c2」、「N」、「N2」のフォーマット文字列とカスタムと数値の両方のFormatType、およびそれらの任意の組み合わせを試しましたが、ボックスに「1.5」が表示されたのと同じ結果になりました。私は何か単純な間違ったことをしていますか?これはそれほど難しいことではありません!

4

2 に答える 2

6

次のことを試してください(これは私には問題なく機能します):

GridColumn colCurrency = gridView1.Columns["myCurrency"];
colCurrency.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
colCurrency.DisplayFormat.FormatString = "c";

関連リンク:GridColumn.DisplayFormatプロパティ

またColumnView.PopulateColumns、このメソッドが呼び出されるとGridView.Columnsコレクションがクリアされるため、コマンドを削除します。したがって、デザイナで列に設定した表示形式は、新しく作成された列には影響しません。

于 2012-10-02T18:54:33.420 に答える
0

それ以外の

gridColumn4.DisplayFormat.FormatString = "c";
gridColumn4.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;

2行目を上に移動するだけです。

gridColumn4.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
gridColumn4.DisplayFormat.FormatString = "c";
于 2016-10-19T14:32:09.280 に答える