我需要在我的webgrid助手中创建自定义format
。我试着这样做,但是没有用。
if (fieldType == FieldType.Currency && format == null)
format = x => string.Format(CultureInfo.CurrentCulture, "$ {0}", x.ReductionValue);
this.Columns.Add(new GridColumn()
{
ColumnName = columnName,
Header = displayName,
Format = format,
Style = styleColumn,
CanSort = canSort
});
我需要的结果是:
$ myValue
例如:$ 1.000,00
我该怎么做?
答案 0 :(得分:1)
当我尝试格式化webgrid的列时,我有同样的疑问。
我是这样做的,我认为你想要这样做:
public void AddCurrencyColumn(Expression<Func<T, decimal?>> expression)
{
Func<T, decimal?> compiledExpression = expression.Compile();
this.Columns.Add(new WebGridColumn()
{
ColumnName = "Id",
Header = string.Empty,
Format = (item) => string.Format(System.Globalization.CultureInfo.CurrentCulture, "$ {0}", compiledExpression(item.Value)),
Style = "currency-webgrid-column"
});
}
如您所见,我编译了表达式,然后将其与模型一起使用以获取属性值。
如果您想做更通用的事情,请将类型decimal?
替换为通用类型,并在执行您想要执行的操作之前对其进行验证。
也许你已经解决了你的问题,但是,也许它可能有助于其他人。