Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > datagrid + ZedGraph


Автор: blackwitcher 29.3.2011, 10:43
Всем привет, нужно построить график на форме где данные берутся из таблицы. Нашел что-то похожее, но не могу разобраться, помогите пожалуйста, я только учусь smile 

Автор: Экскалупатор 29.3.2011, 23:13
ну вот. можешь же когда захочешь, а то все опросы создаешь...

Цитата(blackwitcher @  29.3.2011,  09:43 Найти цитируемый пост)
Нашел что-то похожее,

проект в аттаче ничего не рисует.

Добавлено через 14 секунд
по крайней мере у меня он только выводит данные в таблицу

Автор: Экскалупатор 29.3.2011, 23:56
твой проект это жуть, каким образом у тебя одна форма получает доступ к другой? об такой вещи как архитектура вообще тут говорить не приходиться. все как то через...... одно место в общем. у меня он даже не компилился с начала.
я немного изменил(что бы хоть компилилось и запускалось), у меня теперь рисуется график(вертикальная красная линия) думаю разберешься.
почитай про контролы, взаимодействие между формами(есть прикрепленная тема), я так понимаю про массивы ты тоже слышал только краем уха(у тебя во второй форме жестко забит цикл до 50, хотя строк всего 4).

Автор: Certain 30.3.2011, 17:32
http://jenyay.net/Programming/ZedGraph

Автор: Экскалупатор 30.3.2011, 19:07
судя по проекту в первом посте до описания ZedGraph еще далеко. надо описание азов читать. про классы и пр...

Автор: blackwitcher 30.3.2011, 21:18
Да, я знаю что мне еще нужно много учить. smile 
А как построить 2 графика (так как это сделал Экскалупатор  WindowsFormsApplication5), но, чтобы данные читались не из столбцов, а из строк? smile 

Автор: Экскалупатор 30.3.2011, 21:40
возьми любую книжку в которой есть описание контролов(msdn, кстати, еще никто не отменял). выясни чем отличается строка от столбца, поменяй соответствующие места... PROFIT!!!
в противном случае(если ты сам не начнешь читать), то проще будет написать за тебя все, и не загоняться по мелочам.
попробую подсказать так, что бы смог разобраться сам(иначе так и не узнаешь, если сразу рассказать или пример дать).
разберись что такое двумерный массив. таблица это по сути двумерный массив. только чуть-чуть сложнее организована. в гриде есть столбцы(хранятся в коллекции Columns) и строки(хранятся в коллекции Rows), в твоем варианте данные берутся из столбца(т.е. каждое следующее значение получается из следующей строки в одном столбце), соответственно если тебе нужно делать обход ячеек одной строки, то бери строку и переходи по ячейкам(Cells - конкретные ячейки, т.е. пересечение строки и столбца) в ней.
т.е. если строку:
Код

dgv.Rows[i].Cells[0]

изменить на:
Код

dgv.Rows[0].Cells[i]

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

Автор: blackwitcher 30.3.2011, 22:18
Спасибо за совет. Ну, и строгий ты smile 

Автор: Экскалупатор 30.3.2011, 22:28
))) я не строгий. я в принципе все что нужно рассказал, осталось реализовать только  smile  smile  smile 

Автор: blackwitcher 30.3.2011, 22:51
 Ну, да  smile Сделаю завтра, может что-то выйдет  smile 

Автор: blackwitcher 31.3.2011, 13:04
Ну вот, что-то вышло smile 

Автор: blackwitcher 31.3.2011, 16:53
Большое спасибо, Экскалупатор, тема закрыта smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)