0

我需要从数据库中获取一些记录,然后将其绑定到网格视图。

但是,在我从数据库中获取的数据中,有一些空值

所以,为了避免类型转换错误,我使用了一个函数来避免转换错误。

public static T GetValue<T>(object o)
{
    T val = default(T);

    if (o != null && o != DBNull.Value)
    {
        val = (T)o;
    }
    return val;
}

但是,当我绑定到 grid 时,对于 long 类型的列,它显示为 o 。但是我需要

显示为没有价值或没有。有可能吗,如果可以,请给出你的建议

4

1 回答 1

2

看起来你只需要使用long?而不是long作为你的通用参数。我假设你目前正在做类似的事情:

long val = GetValue<long>(someDataField);

只需将其更改为使用Nullable<long>类型,您就会null回来,这应该在您的网格中工作。

long? val = GetValue<long?>(someDataField);
于 2013-08-12T15:01:49.150 回答