В настоящее время имеется программа на C # с двумя сетевыми представлениями, одна с потоковыми данными, а другая с вычисленными данными. В настоящее время я запускаю приведенный ниже код для генерации MSChart:
System.Collections.ArrayList array_name = new System.Collections.ArrayList();
array_name.Clear();
for (int i = 0; i < 48; i++)
array_name.Add(this.dataGridViewData[4, i].Value);
System.Collections.ArrayList array_contract = new System.Collections.ArrayList();
array_contract.Clear();
for (int x = 0; x < 48; x++)
array_contract.Add(this.dataGridViewData[0, x].Value);
chart2.Series["Series1"].Points.DataBindXY(array_contract, array_name);
Это отлично работает!
У меня проблема с запуском того же кода выше, но передачей его в другое представление данных (dataGridView1). По какой-то странной причине этот код не работает для меня:
try
{
System.Collections.ArrayList array_strip = new System.Collections.ArrayList();
for (int tt = 0; tt < 5; tt++)
array_strip.Add(this.dataGridViewData[4, tt].Value);
dataGridView1.DataSource = array_strip;
}
catch (Exception ex)
{
MessageBox.Show("E(c) " + ex);
}
Когда я запускаю приведенный выше код, я получаю неверные результаты. Фактическое число, которое должно отображаться, составляет 3,010 во всем новом dataGridView1.
Вот как выглядит первый dataGridViewData:
Наименование, Цена, Цена 2, Цена 3, Цена 4 и изменение.
Джон, 3,1, 3,00, 3,02, 3,01, -.04.
После дальнейшего изучения проблемы, когда я запускаю приведенный выше код, datagridview1 возвращает номер строки, а не значение ячеек. Я ищу решение о том, как преобразовать возвращаемые данные (16 символов) в фактические данные.