在自动生成的Telerik RadGridView指定单元格(Silverlight)中应用DataFormatStri
本文关键字:Silverlight DataFormatStri 应用 单元格 自动生成 Telerik RadGridView | 更新日期: 2023-09-27 18:20:08
我有一个列,它与自动生成的Telerik RadGridView中类型为double
的属性绑定。
<telerik:GridViewDataColumn
Header="Formated Price" DataFormatString="0.###E0"
DataMemberBinding="{Binding Price, Mode=TwoWay}">
</telerik:GridViewDataColumn>
我想要多个DataFormatString w.r.t单元格。
例如:如果单元格中的值大于5,则"指数值"应显示在单元格中,否则值应显示在"小数点后两位四舍五入"中。
由于表是自动生成的,我无法访问单个单元格的值,所以我可以更改其字符串格式
属性DataFormatString="0.###E0"
应用于整个列,而不是单个单元格。
在这种情况下,最好不要使用默认模板。相反,定义您自己的CellTemplate(GridViewDataColumn.CellTemplate)并对该值使用转换器。转换器看起来像:
class PriceConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
double price = Convert.ToDouble(value);
if(price > 5.0)
{
// return the price formatted how you want
}
else
{
// return the price formatted differently
}
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}