문제

i (Telerik) RadGridView에 대한 열을 동적으로 생성하고 이중 NAN 값이 NULL 문자열로 표시되므로 현재 'NAN'으로 표시됩니다.

누구 든지이 작업을 수행하는 방법을 알고 있습니까?

나는 이것을위한 DataFormatString가 있기를 바랬다.

 var column = new GridViewDataColumn
 {
       Header = ExtractFriendlyName(member),
       DataType = valueType,
       DataMemberBinding = new Binding(member),
 };
.

일반적으로 FormatInfo 클래스 인 E.G :

로이 작업을 수행합니다.
var nfi = (NumberFormatInfo) NumberFormatInfo.CurrentInfo.Clone();
nfi.NaNSymbol = "NaN";

double num = double.NaN;
string numString = System.Number.FormatDouble(num, null, nfi);
.

도움이 되었습니까?

해결책

이 간단한 바인딩 변환기는 원하는 것을 수행합니다.

public class DoubleToStringConverter : IValueConverter
{
    public object Convert(
        object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (value is double)
        {
            double number = (double)value;
            value = double.IsNaN(number) ? string.Empty : number.ToString(culture);
        }

        return value;
    }

    public object ConvertBack(
        object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotSupportedException();
    }
}

...

DataMemberBinding = new Binding(member) { Converter = new DoubleToStringConverter() },
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top