8

我有一个带有存储过程值的 xtragrid。
我得到浮点数(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() + "%";
                }
            }

另一种方法是使用 Editor EditFormat 和 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 回答