2010-04-12 7 views
0

저는 ASP.NET 차트 컨트롤을 사용하고 있으며 데이터베이스에서 데이터를 가져옵니다. 때로는이 데이터가 비어 있으며 빈 화면 대신 텍스트 나 유사한 텍스트를 표시 할 수있는 방법을 찾을 수 없습니다. 저를 그렇게 할 수있는 속성이 없습니다. 나는 그것 때문에 차트에서 "ImageLocation"속성의 있다고 가정빈 데이터가있는 ASP.NET 차트 컨트롤

16.48.27 ERROR: System.Web.HttpException: File does not exist. 
    at System.Web.StaticFileHandler.GetFileInfo(String virtualPathWithPathInfo, String physicalPath, HttpResponse response) 
    at System.Web.StaticFileHandler.ProcessRequestInternal(HttpContext context) 
    at System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext context, AsyncCallback callback, Object state) 
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

: 게다가

, 나는 내가 데이터없이 차트를 표시하려고 때문에 빈 데이터, 나는 예외마다 시간을 얻을 수 있다고 생각 왜냐하면 빈 데이터로 이미지를 생성하지 않기 때문에 그 위치를 찾을 수 없기 때문입니다.

alt text http://img532.imageshack.us/img532/6215/chartt.png

질문 : 차트 빈 데이터를 수신 할 때 감지 할 수있는 방법이 있나요

내가 피하고자하는 이미지입니까?

답변

0

는 다음을 확인할 수 있습니다 :

  1. 확인을 차트의 데이터 소스가 null의 경우.
  2. 사용 된 데이터 소스의 테이블이 비어 있는지 확인하십시오 (0 행 있음).
  3. SQL 쿼리가 결과를 반환하는지 확인하십시오.
0

사실, 나는 ObjectDataSource를 사용, 마지막으로 제가했던 것은 다음과 같다 해요 :

ObjectDataSource를가 선정라는 이벤트가 있습니다. ObjectDataSourceStatusEventArgs의 ReturnValue에 0 요소가있을 때 이러한 이벤트를 캡처하는 메서드를 사용하여 차트의 Visible 속성을 false로 설정하고 다음과 같이 데이터의 부족을 나타내는 Label의 Visible 속성을 true로 설정합니다.

protected void RcrBufferSizeODS_Selected(object sender, ObjectDataSourceStatusEventArgs e) 
{ 
    if (((List<RcrBufferSize>)e.ReturnValue).Count == 0) 
     { 
      RcrBufferChart.Visible = false; 
      EmptyDataLabel.Visible = true; 
     } 
     else 
     { 
      RcrBufferChart.Visible = true; 
      EmptyDataLabel.Visible = false; 
     } 
    } 
}