2013-04-14 1 views
1

DataviewatString = "{0 : c}"를 사용하여 DataFormatString을 사용하여 통화 범위 형식으로 변환했습니다.

그러나 내 세부 정보보기에 공백을 표시하는 대신 값이 비어 있거나 데이터베이스에서 null 인 경우 DataFormatString이 $ 0.00으로 표시되도록합니다. NullDisplayText = ""설정하려고했지만 작동하지 않는 것 같습니다.

아이디어가 있습니까? 대신 ItemTemplate을 사용해야합니까? 찾는 및 사용을 고려 - 코드 숨김이 같은

<asp:BoundField DataField="Price" HeaderText="Price:" SortExpression="Price" 
      DataFormatString="{0:c}" NullDisplayText="" /> 
+0

데이터를 어떻게 가져 왔습니까? 값이 비어 있거나 null 인 경우 '0'을 반환하는 저장 프로 시저를 사용할 수 있습니까? – Oded

+0

데이터를 가져 오는 위치를 보여주는 내 질문 업데이트 – Kevin

+0

더 나은 쿼리가 도움이 될 것 같습니다 ([사례] (http://msdn.microsoft.com/en-gb/library/ms181765.aspx)를보십시오). – Oded

답변

0

뭔가 :

나는 .ASPX

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:TestString %>" 
    SelectCommand="SELECT [Price] FROM [DataBase] WHERE ([ID] = @ID)"> 

이있는 데이터를 얻을 방법이이 데이터를 바인딩하는 코드입니다 데이터 격자에 대한 Databind 이벤트를 사용하면 쉽게 만들 수 있습니다.

If (value is DBNull) return "" else return FormattedValue(value) 

정확히 어떤 y ou는 원하지만 정확히 원하는 것을 수행합니다. DataGrid의 ItemDataBound 이벤트를 사용하면됩니다. 원하는 경우가 아닌 null 값을 반환합니다. 나는 명확성을 위해 FormattedValue를 사용했다.

관련 문제