powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Построение диаграмм
2 сообщений из 2, страница 1 из 1
Построение диаграмм
    #33906018
Duracell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди помогите пожалуйста!
Есть такой код:

<%@ WebHandler Language="C#" Class="Chart" %>

using System;
using System.Web;
using OWC11;

public class Chart : IHttpHandler {

/// <summary>
/// Http - обработчик.
/// </summary>
public void ProcessRequest (HttpContext context)
{
Byte[] oImg;
Int32 iConst = Convert.ToInt32(ChartSpecialDataSourcesEnum.chDataBound);

// Создаём объект ChartSpace содержащий диаграммы.
ChartSpace objCSpace = new ChartSpaceClass();

// Добавим диаграмму в ChartSpace.
ChChart objChart = objCSpace.Charts.Add(0);

// Укажем тип графика.
objChart.Type = ChartChartTypeEnum.chChartTypeLine;

// Нужна ли легенда графику?
objChart.HasLegend = true;

// Заголовок графика.
objChart.HasTitle = true;
objChart.Title.Caption = "Title Of The Chart";

// Подписи осей графика.
objChart.Axes[0].HasTitle = true;
objChart.Axes[0].Title.Caption = "Y Axis Caption";
objChart.Axes[1].HasTitle = true;
objChart.Axes[1].Title.Caption = "X Axis Caption";

// Создание строки соединения с базой данных
objCSpace.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;" +
"User ID=***;Data Source=***;Use Procedure for Prepare=1;" +
"Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;" +
"Tag with column collation when possible=False;Initial Catalog=***;password=***;";

// Создание запроса на выборку
objCSpace.CommandText = "exec asu_ChartDiagram 10000001562, '20060801', '20060805'";

objChart.SeriesCollection.Add(0);
objChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimSeriesNames, iConst, "rest");

// Определяем область категорий
objChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories, iConst, "ondate");

// Определяем область значений
objChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues, iConst, "rest");

oImg = (Byte[])objCSpace.GetPicture("gif", 640, 480);
context.Response.ContentType = "image/gif";
context.Response.OutputStream.Write(oImg, 0, oImg.Length);
}

public bool IsReusable {
get {
return false;
}
}
}

По идее с помощью хранимой процедуры asu_ChartDiagram из базы данных
извлекается набор данных (проверял, процедура рабочая)
содержащий даты (поле ondate) и значения остатков по счету (поле rest)
затем собственно строится график на котором видно как изменялся остаток в определённый период...

На практике же замучался с ошибкой:
"Value does not fall within the expected range." при попытке вызвать метод objChart.SeriesCollection[0].SetData(...)
 
В качестве примера использовал: http://www.aspnetmania.com/Articles/Article/55.html
Но код примера тоже не удалось запустить...
 
Пните в нужную сторону
 
...
Рейтинг: 0 / 0
Построение диаграмм
    #33906186
Duracell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гммм...
Если вместо вызова хранимой процедуры:
objCSpace.CommandText = "exec asu_ChartDiagram 10000001562, '20060801', '20060805'";
использовать запрос, то всё работает
Но в хранимке лежит довольно большой код, не хотельсь бы писать его прямо в .ashx-файл
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Построение диаграмм
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]