我需要从数据库中获取一些记录,然后将其绑定到网格视图。
但是,在我从DB获取的数据中,有一些空值
所以,为了避免类型转换错误,我正在使用一个函数来避免强制转换错误。
public static T GetValue<T>(object o)
{
T val = default(T);
if (o != null && o != DBNull.Value)
{
val = (T)o;
}
return val;
}
但是,当我绑定到网格时,它对于long类型的列显示为o。但是,我需要
表示没有价值或没有。是否有可能,如果是这样,请给出你的意见
答案 0 :(得分:2)
您似乎只需使用long?
代替long
作为通用参数。我假设你现在正在做类似的事情:
long val = GetValue<long>(someDataField);
只需将其更改为使用Nullable<long>
类型,您就会获得null
,这应该可以在您的网格中使用。
long? val = GetValue<long?>(someDataField);