Модераторы: gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataReader + Chart 
V
    Опции темы
shark1
Дата 4.6.2008, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 10.11.2007

Репутация: нет
Всего: нет



Подскажите ,как при помощи DataReader,можно создавать графики.зарание огромное спасибо.
PM MAIL   Вверх
unicuum
Дата 5.6.2008, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



Так и подмывает сказать - никак, но есть хорошая библа.

NPlot Charting Library

Прикрепил файл с простейшим примером, хотя по идее эта библиотека может гораздо больше.

Присоединённый файл ( Кол-во скачиваний: 18 )
Присоединённый файл  nplot_demo.rar 38,71 Kb


--------------------
user posted image
обычный день на винграде
PM   Вверх
shark1
Дата 5.6.2008, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 10.11.2007

Репутация: нет
Всего: нет



unicuum  спасибо за ответ.А можно как то попроще,можно както через datareader выводить данные из DB,и получать график, мне всегото надо соеденить два значения.Спасибо.

Это сообщение отредактировал(а) shark1 - 5.6.2008, 17:02
PM MAIL   Вверх
akizelokro
Дата 5.6.2008, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: нет
Всего: 5



Не совсем понятен вопрос. DataReader читает из базы данных, разработчику остаётся только нормально воспринять этот факт (нормально обработать полученную информацию - примеры в MSDN (или гугл, но дольше искать)). Для построения графиков предназначены специализированные (совсем или в том числе) компоненты, которым остается только правильно передать полученные данные.

Скажу иначе. Определяешься с компонентом, с помощью которого ты будешь строить график. Дизайнишь вид графика, который тебя устраивает. Смотришь, в каком виде тебе надо подготовить данные для отображения в графике. DataReader'ом считываещь данные из базы и перегоняешь к нужному виду. 

Это сообщение отредактировал(а) akizelokro - 5.6.2008, 18:34


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
Magnifico
Дата 5.6.2008, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 2
Всего: 17



 если в таблице есть кординаты точек то в цикле ридера
передаешь параметры методам  экземпляра Graphics
Код

OleDbDataReader rdr = com.ExecuteReader();
            while (rdr.Read())
            {     
           e.Graphics.DrawLine(Pens.Red, Convert.ToInt32(rdr["X"]), Convert.ToInt32(rdr["Y"]),  Convert.ToInt32(rdr["X"]) , Convert.ToInt32(rdr["Y"]));    
            }

накидал тебе пример в папке bin/debug :  access база  с коорд. точек

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  PlotGraphic.rar 45,55 Kb


--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
shark1
Дата 5.6.2008, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 10.11.2007

Репутация: нет
Всего: нет



спасибо огромное за отличный пример.только маленький вопрос,как поменять код если оба значения string(в db-text).Зарание огромное спасибо.
PM MAIL   Вверх
Magnifico
Дата 6.6.2008, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 2
Всего: 17



если данные находятся в одном поле "XY"  и разделены пробелом  в таком виде:
0 0
10 20
100 150

Код

while (rdr.Read())
            {
                string str = Convert.ToString(rdr["XY"]);
        //разделяем по пробелам
               int start = str.IndexOf(" ");
               string strX = str.Substring(0, start).Trim();
               string strY = str.Substring(start+ 1).Trim();
          //рисуем график отностиельно начала координат 
                g.DrawLine(Pens.Red, tmpX, tmpY, Convert.ToInt32(strX), - Convert.ToInt32(strY));
           //устанавливаем новые значания точек
                tmpX = Convert.ToInt32(strX);
                tmpY = - Convert.ToInt32(strY);
            }



--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
unicuum
Дата 6.6.2008, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



Цитата(shark1 @  5.6.2008,  17:01 Найти цитируемый пост)
unicuum  спасибо за ответ.А можно как то попроще,можно както через datareader выводить данные из DB,и получать график, мне всегото надо соеденить два значения.Спасибо.


Вот Magnifico дал совет, я больше ориентируюсь на профессиональные решения, то есть специально созданные библиотеки. Ну если хочешь можешь использовать и так, поставь масштабирование относительно области вывода, лучше наверное выводить на панель, а не форму и вперёд.


--------------------
user posted image
обычный день на винграде
PM   Вверх
shark1
Дата 6.6.2008, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 10.11.2007

Репутация: нет
Всего: нет



спасибо за отличный пример,но вот на этой строке :
 string str = Convert.ToString(rdr["XY"]);
выпадает ошибка:
System.IndexOutOfRangeException was unhandled
  Message="XY"

 :(. Подскажите что опять не так.Спасибо.
PM MAIL   Вверх
Magnifico
Дата 6.6.2008, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 2
Всего: 17



у тебя в базе нет поля "XY" ты его не создал.
ты же сам сказал что в твоей базе есть поле типа текст в которм есть две координаты точек
назвать его надо "XY"
хотя зачем координаты держать именно в текстовом поле непонятно -- слишком много переконвертаций !

держи рабочий


Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  PlotGraphic2.rar 39,44 Kb


--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
shark1
Дата 6.6.2008, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 10.11.2007

Репутация: нет
Всего: нет



Magnifico спасибо тебе огромное за твои примеры.Я присоединил свою db.Плизз скажи как к ней построить график.Огромное спасибо.

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  Smt.rar 11,89 Kb
PM MAIL   Вверх
Magnifico
Дата 7.6.2008, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 2
Всего: 17



 у тебя там нет  координат для точек 
нужно как минимум две (x y)
Цитата

Line1  = 5
Line2 = 10

это что длинна линии? а координаты где в пространстве


--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
shark1
Дата 7.6.2008, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 10.11.2007

Репутация: нет
Всего: нет



Нет Line- это рабочая линия,а Qty-это кол.собранных деталей.
PM MAIL   Вверх
Magnifico
Дата 8.6.2008, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 2
Всего: 17



http://www.spc-consulting.ru/app/gistogramma.htm

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  PlotGraphic3.rar 52,06 Kb


--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
shark1
Дата 9.6.2008, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 10.11.2007

Репутация: нет
Всего: нет



Просто огроменое тебе спасибо.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0509 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.