2010-04-12 4 views
0

Я использую элемент управления диаграммой ASP.NET, и он берет данные из базы данных. Иногда эти данные пустые, и я не могу найти способ показать какой-либо текст или подобное вместо чистого экрана. Нет атрибута, который позволяет мне это делать.Управление диаграммой 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) 

Я полагаю, что это из-за «ImageLocation» атрибут Chart объект, потому что он не создает никакого изображения с пустыми данными, поэтому он не может найти это местоположение.

Это изображение, которое я хочу, чтобы избежать:

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

Вопрос: Есть ли способ, чтобы определить, когда дерево получает пустые данные?

ответ

0

Вы можете проверить следующее:

  1. Проверьте, если источник данных Картографическая является недействительным.
  2. Проверьте, не используются ли таблицы таблиц источника данных (имеют 0 строк).
  3. Проверьте, не возвращает ли SQL-запрос какой-либо результат.
0

На самом деле, я использую ObjectDataSource, и, наконец, то, что я сделал следующий:

ObjectDataSource есть мероприятие под названием Selected. Я использовал метод, который фиксирует эти события, чтобы привязать свойство Visible диаграммы к false, когда ReturnValue объекта ObjectDataSourceStatusEventArgs имеет 0 элементов и помещает свойство 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; 
     } 
    } 
} 
Смежные вопросы