【问题标题】:DevExpress XtraGrid Formatting - how to enclose all negative numbers in parenthesisDevExpress XtraGrid 格式 - 如何将所有负数括在括号中
【发布时间】:2011-12-07 18:12:55
【问题描述】:
我正在使用DevExpress XtraGrid 来显示数据。我想在括号中显示负数。数字包括正数和负数。
例如:
123.448
-234.887
-35687.98753
87654.98765
等等……
我想将它们格式化如下
123.448
(234.887)
(35,687.98753)
87,654.98765
为了得到上述结果,需要使用什么格式字符串?
【问题讨论】:
标签:
winforms
devexpress
xtragrid
number-formatting
negative-number
【解决方案1】:
请在您的专栏编辑器上使用自定义numeric mask:
this.gridColumn1.ColumnEdit = this.repositoryItemTextEdit1;
//...
this.repositoryItemTextEdit1.Mask.EditMask = "###,###,###,##0.0##;(###,###,###,##0.0##)";
this.repositoryItemTextEdit1.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;
this.repositoryItemTextEdit1.Mask.UseMaskAsDisplayFormat = true;
【解决方案2】:
您始终可以使用 GridView.CustomColumnDisplayText 事件来更改数据的外观。不过使用 Mask 会更整洁。
【解决方案3】:
settings.Columns.Add(set =>
{
set.FieldName = "myField";
set.Caption = "myFieldCaption";
set.UnboundType = DevExpress.Data.UnboundColumnType.String;
set.UnboundExpression = "Iif([myField] < 0, '(' +[myField]+ ')', [myField])";
});
在mvc中是这样完成的,但我不知道在winforms中是如何完成的。