1

我有一个 RadGridView (Telerik),其中有几列代表可为空的整数。我试过使用

TargetNullValue='Not specified'(在 XAML 中)

[DisplayFormat(NullDisplayText = "Not specified")](关于元数据类)

但这些都没有奏效。我相信这很可能是因为我混淆了字符串和 int 数据类型,而 GridView 拒绝了它。我的用户要求,如果为月份指定了一个条目(表示为 GridView 中的行),但他们希望以某种方式调用它的 int 字段没有值。我知道我可以使用控件的条件颜色格式,但这实际上是用于其他用途,所以它不是一个选项。当然,显示的任何内容都不应绑定到实际的实体值。

4

1 回答 1

1

对于这种情况,通常的答案是:编写一个自定义的ValueConverter来做到这一点。

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
    int? num = value as int?;
    if (num != null)
    {
        return num;
    }
    else
    {
        return "Not specified";
    }
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
    int num;
    if (int.TryParse(value.ToString(), out num))
    {
        return num;
    }
    else
    {
        return null;
    }
}
于 2012-08-24T15:31:17.077 回答