Модераторы: 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   Вверх
Brathamen
Дата 11.6.2008, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте.
Проблема такова, проект на С#+MS SQL express.
Необходимо нарисовать гистрограмму метода Паретто, делая выборку из базы, из одной таблицы Pareto(поля там код детали,код дефекта,колич деталей с дефектом),по этим двум последним полям должна строиться гистрограмма.
Нашёл библиотеку ZedGraf
библиотека
но проблема. не мог могу подключиться к базе и отрисовать ничего вот из данной таблицы:(
бьюсь уже.недели 2 или 3 ..помогите,очень нужна помощь:( почему именно эту библиотеку решил использовать - другого метода незнаю как отрисовать:(
В архиве. Сам проект. Описание что такое Парето, база + лог к ней.Архив разметил на Депозите, потому что объём большой.сюда не прикреплялся.
Проект большой ,если кто заинтересуется, то надо смотреть именно MethodParesisAndABCAnalysis.
Архив со всем добром архив весит 2.37
Спасибо тем кто отзвётся... пошёл молиться - может  кто поможетsmile
PM MAIL ICQ   Вверх
unicuum
Дата 12.6.2008, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Brathamen @  11.6.2008,  19:52 Найти цитируемый пост)
но проблема. не мог могу подключиться к базе и отрисовать ничего вот из данной таблицы:(

А у меня проблема в скачивании с депозита, даже если бы я захотел это взять smile Запоминай на будущее - http://filehoster.ru/, лучше его пока что не видел, прямые ссылки и т.д.

Если проблема лишь в подключении, а твоя база на локалке, то используй примерно такую строку подключения:
Data Source=.\SQLEXPRESS;Initial Catalog=DatabaseName;Integrated Security=True
Выделил жирным то, что ты должен заменить, т.е. имя базы данных.

По идее можно иначе сделать, задать пользователя и логин с паролем, назначить права доступа к базе и т.д. и т.п., хотя лично я так поступал лишь для установки сайтов на свой компьютер, а больше так делать незачем.


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


Новичок



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

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



Цитата(unicuum @ 12.6.2008,  08:21)
А у меня проблема в скачивании с депозита, даже если бы я захотел это взять smile

Залил на filehost свой архивsmile

Это сообщение отредактировал(а) Brathamen - 12.6.2008, 13:51
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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