Я бы создал класс для хранения каждой записи (строки) в вашем CSV.В этом классе представлены девять свойств, которые соответствуют девяти столбцам в вашем DataGridView.Класс будет обрабатывать логику разбиения значений вашего седьмого столбца на восемь и девятый столбцы, как вы описали.
Когда вы читаете в CSV, создаете экземпляры этого класса, помещаете их в список (или другойколлекция) и связать список с DataGridView.
Вот что я имею в виду.Создайте следующий класс:
class Record
{
public Record(string line) {
string[] fields = line.Split(',');
Field1 = fields[0];
Field2 = fields[1];
Field3 = fields[2];
Field4 = fields[3];
Field5 = fields[4];
Field6 = fields[5];
Field7 = fields[6].Substring(0, 1);
Field8 = fields[6].Substring(1, 1);
Field9 = fields[6].Substring(2, 1);
}
public string Field1 { get; private set; }
public string Field2 { get; private set; }
public string Field3 { get; private set; }
public string Field4 { get; private set; }
public string Field5 { get; private set; }
public string Field6 { get; private set; }
public string Field7 { get; private set; }
public string Field8 { get; private set; }
public string Field9 { get; private set; }
}
Перетащите DataGridView на форму и запустите его:
// Create a bunch of Record objects. Note: r1-f3 = record 1, field 3.
List<Record> recordList = new List<Record> { new Record("r1-f1,r1-f2,r1-f3,r1-f4,r1-f5,r1-f6,123"),
new Record("r2-f1,r2-f2,r2-f3,r2-f4,r2-f5,r2-f6,456"),
new Record("r3-f1,r3-f2,r3-f3,r3-f4,r3-f5,r3-f6,789")};
dataGridView1.DataSource = recordList;
Обратите внимание, что это чрезвычайно хрупкий код, и вы захотите сделать практически всепоказать здесь по-разному в производственном приложении.Это показывает, что я имею в виду.