public void ZapolnenieTabl(object a) { InfaDlyaZapolnenieTablIzARFF infa = (InfaDlyaZapolnenieTablIzARFF)a; Instances dataSet = infa.dataInstaces; DataGridView dataGridViewFormat = infa.dataGridView; //DataGridView dataGridViewFormat = new DataGridView(); int countAttribute = dataSet.numAttributes(); int countRow = dataSet.numInstances(); if (infa.dataTrain) { dataDoubleTrain.Clear(); } else { dataDoubleTest.Clear(); } dataGridViewFormat.Invoke((Action)(() => { dataGridViewFormat.Columns.Clear(); })); //Добавление столбцов = атрибутам /* * for (int i = 0; i < countAttribute; i++) * { * dataGridViewFormat.Invoke((Action)(() => * { * dataGridViewFormat.Columns.Add("column1_" + i, dataSet.attribute(i).name()); * })); * } */ dataGridViewFormat.Invoke((Action)(() => { dataGridViewFormat.Columns.Add("column1_class", "class"); })); for (int k = 0; k < countRow; k++) { List <double> rowDouble = new List <double>(); String[] row = new String[1]; for (int i = 0; i < countAttribute; i++) { if (i < countAttribute - 1) //Ограничение: чтобы не добавлялась метка класса как атрибут { rowDouble.Add(dataSet.get(k).value(i)); } else { row[0] = dataSet.get(k).value(i).ToString(); } //row[i] = dataSet.get(k).value(i).ToString(); //dataGridViewFormat.Rows[k].Cells[i].Value = rowDouble[i]; } //Добавление строки в таблицу dataGridViewFormat.Invoke((Action)(() => { dataGridViewFormat.Rows.Add(row); dataGridViewFormat.Rows[k].HeaderCell.Value = (k + 1).ToString(); })); if (infa.dataTrain) { dataDoubleTrain.Add(rowDouble); } else { dataDoubleTest.Add(rowDouble); } label1.Invoke((Action)(() => { label1.Text = "Загружено данных:" + k + "/" + countRow; })); progressBar1.Invoke((Action)(() => { progressBar1.Value = k; })); } }