1

null許容型のintを表すいくつかの列を持つRadGridView(Telerik)があります。使ってみました

TargetNullValue='Not specified'(XAML内)

[DisplayFormat(NullDisplayText = "Not specified")](メタデータクラス上)

しかし、これらはどちらも機能していません。stringと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 に答える