8

ストアドプロシージャからの値を持つエクストラグリッドがあります。
値をfloat(0.23)で取得しており、パーセント(23%)で表示したいと思います。
C#でそれを行うための最良の方法は何でしょうか?

前後 前 _ 後

4

2 に答える 2

10

セルを読み取り専用で表示するだけの場合は、CustomDrawCellイベントを使用します。または、CustomColumnDisplayTextイベントを使用することもできます。

これを試して:

private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
            {
                if (e.Column.FieldName == "Marks")
                {
                    e.DisplayText = (((int)(Convert.ToDecimal(e.CellValue) * 100))).ToString() + "%";
                }
            }

別の方法では、EditorEditFormatおよびDisplayFormatプロパティを使用します。これらのプロパティを設定した後、それをgridview列に追加します。参照:XtraGridに表示される値をフォーマットする方法

RepositoryItem textEdit;
        private void AddGridRepositoryItem()
        {
            textEdit = new RepositoryItemTextEdit();
            textEdit.AllowHtmlDraw = DevExpress.Utils.DefaultBoolean.True;
            textEdit.ReadOnly = true;
            gridControl1.RepositoryItems.Add(textEdit);

            textEdit.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
            textEdit.DisplayFormat.FormatString = "p";
            gridView1.Columns[0].ColumnEdit = textEdit;

        }

最も簡単な方法は、GridColumn.DisplayFormatプロパティを使用することです。

colPayment.DisplayFormat.FormatType = FormatType.Numeric;
colPayment.DisplayFormat.FormatString = "p0";

この助けを願っています。

于 2012-05-21T10:48:55.477 に答える
9

次のアプローチを使用してください。

colReabilitation.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
colReabilitation.DisplayFormat.FormatString = "p0";

関連リンク:

于 2012-05-21T10:44:57.037 に答える