2013-08-12 1 views
0

데이터베이스에서 일부 레코드를 가져온 다음 그리드보기에 바인딩해야합니다. 그리드보기에서 DB null 값을 나타내는 방법

하지만, 데이터에 난 DB에서 가져 오는하고는, 내가 캐스팅 오류를 방지하는 함수를 사용하고,

그래서, 중위 타입 캐스팅 오류를 방지하기 위해 일부 null 값이 있습니다.

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

전체 코드를 작성하십시오. – Raghubar

답변

2

일반적인 매개 변수로 long 대신 long?을 사용해야하는 것처럼 보입니다. 난 당신이 현재 같은 일을하는지 있으리라 믿고있어 : 그냥 Nullable<long> 유형을 사용하는 것을을 변경

long val = GetValue<long>(someDataField); 

을, 당신은 다시 null를 얻을 수 있습니다, 그것은 그리드에서 작동합니다.

long? val = GetValue<long?>(someDataField); 
+0

감사합니다. 일하고 .. –

관련 문제