我有DataGrid
绑定到DataTable
。一些列是double类型。如您所知,double不接受null
值,该列不接受double
? (或Nullable<double>
)作为其类型。如何让列接受null
值?
答案 0 :(得分:1)
尝试
<binary name>PackageTests.xctest
答案 1 :(得分:1)
((DataGridBoundColumn)e.Column).Binding.TargetNullValue = string.Empty;
在创建列时尝试将DataGridAutoGeneratingColumnEventArgs
设置为事件处理程序,并执行上述操作。这将使您的数据列在double类型时接受空值。
答案 2 :(得分:1)
我使用与绑定关联的转换器解决了它,该绑定将“”或null转换为DBNull.value
//Converter to accept null values in Datagrid not String columns
class DatagridContentConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null || ((value.GetType() == typeof(String) && (String)value == "")))
{
return DBNull.Value;
}
else
{
return value;
}
}
}