ZedGraph не хочет работать с DataGridView (C#)

108
01 декабря 2020, 02:10

Есть переменные у меня двух стилей 1)Такой пишет ошибку, что Входная строка имела неверный формат или Ссылка на объект не указывает на экземпляр объекта.

double x = double.Parse(dataGridView2.Rows[i].Cells[0].Value.ToString()); double y = double.Parse(dataGridView2.Rows[i].Cells[2].Value.ToString());

или есть такого вида: (он строит только одну точну в координаты 0.0).

double x =  Convert.ToDouble(dataGridView2.Rows[i].Cells[0].Value);
double y = Convert.ToDouble(dataGridView2.Rows[i].Cells[2].Value);

Сам код выглядит так:

    zedGraph1.GraphPane.CurveList.Clear ();
            for (int i = 0; i < dataGridView2.Rows.Count ; i++)
            {
double x =  Convert.ToDouble(dataGridView2.Rows[i].Cells[0].Value);
 double y = Convert.ToDouble(dataGridView2.Rows[i].Cells[2].Value);
    zedGraph1.Invalidate ();
  PointPairList f1_list = new PointPairList ();

               f1_list.Add(x,y);
                    LineItem f1_curve = zedGraph1.GraphPane.AddCurve (" ", f1_list, System.Drawing.Color.Red);
                    zedGraph1.AxisChange ();
zedGraph1.Invalidate ();
                }       

Суть кода: Должен брать данные с 1 и 3 столбца и выстроить их на график. Вопрос: Как мне решить эту делему, где я и что делаю не так? Формат в таблице Double.

Answer 1

Проще показать ответом:

zedGraph1.GraphPane.CurveList.Clear ();
double x=0,y=0;
for (int i = 0; i < dataGridView2.Rows.Count ; i++)
{
    try
    {
        x =  Convert.ToDouble(dataGridView2.Rows[i].Cells[0].Value);
        y = Convert.ToDouble(dataGridView2.Rows[i].Cells[2].Value);
    }
    catch(Exception e)
    {
        //Обрабатываете Exception - пишите в лог или выводите e.Message на панель
        ......
        //Переходите к следующей строке таблицы
        continue;
    }
    //Далее Ваш код, на который Вы не жаловались и который я не анализировал
    zedGraph1.Invalidate ();
    PointPairList f1_list = new PointPairList ();

    f1_list.Add(x,y);
    LineItem f1_curve = zedGraph1.GraphPane.AddCurve (" ", f1_list, System.Drawing.Color.Red);
    zedGraph1.AxisChange ();
    zedGraph1.Invalidate ();
}    
READ ALSO
Жизненный цикл ASP MVC приложения и Quartz.Net

Жизненный цикл ASP MVC приложения и Quartz.Net

Всем привет! Такой вопрос, у меня есть ASP MVC приложение которое в фоне с помощью QuartzNet выполняет определенные действия

97
Зависимые друг от друга библиотеки, или forward declaration of type

Зависимые друг от друга библиотеки, или forward declaration of type

Как поступить в ситуации когда обе библиотекиNET зависят от одного или более типов расположенных в разных библиотеках?

99
selenium открыть локальный html документ

selenium открыть локальный html документ

Использую c#В интернете видел примеры

100
Как вернуть нумерацию в C#?

Как вернуть нумерацию в C#?

Есть такая разметка:

120