2012-05-03 3 views
2

net (C#) 및 데이터 그리드에 데이터 바인딩을 시도하면 일부 열에 데이터가 없으므로 열에 null 값이 표시됩니다. 하지만 같은 열에 null 대신 0을 표시하려고합니다.DataGrid의 null 값 처리

어떻게 가능합니까? 어떤 표현이 있습니까?

NullDisplayText = "0"??

감사

+0

그것의 GridView을 데이터 그리드 또는 .net되는 ABC에서이 방식으로

선택 ISNULL 널 처리하기 위해 SQL 쿼리를 작성할 수있다? –

+0

예 데이터 그 리드에만 해당 – jestges

답변

2

결과 쿼리에 null 값이 포함되지 않도록 Sql 쿼리에서 Null 값을 처리하는 것이 좋습니다. 당신은 (0 가격,)

+0

감사합니다. 내 prob를 해결합니다. – jestges

2

데이터 그리드에서 그런 표현이 없다, 당신은하여 ItemDataBound 이벤트에 코드를 작성하고 셀에 데이터를 바인딩하기 전에 사용자 정의 텍스트와 널 바꿀 수 있습니다. 당신이에 TemplateColumn을 사용하고 영문 웹 컨트롤에 데이터를 바인딩하는 경우

, 당신은 서버 측이 기본 값으로 비어 있거나 null 값을 대체하는 바인딩을 쓸 수

템플릿 필드

<asp:TextBox runat="server" Text='<%#DefaultVal(Eval("FieldName").ToString())% >' ID="txtBox1" ></asp:TextBox> 

서버 측 속성

protected string DefaultVal(string val) 
{ 
    return (val == null)?"0":val; 
} 

GridView에는 NullDisplayText라는 속성이 있습니다. 자세한 내용은 다음 링크를 참조하십시오. http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.nulldisplaytext.aspx

1

당신은 예를 들어 유착

사용하여 0으로 NULL 값을 변환하기 위해 SQL을 편집 할 수 있습니다 :이 도움이

SELECT COALESCE(potentialNullColumn, 0) FROM table 

희망을!