Вы можете создать класс для каждой из ваших строк с добавленным свойством для CheckBox
public class LineImport
{
// Name these properties in a meaningful way for your task
public bool Check {get;set;}
public string Text1 {get;set;}
public string Text2 {get;set;}
// The constructor receives the line and process it.
public LineImport(string line)
{
// You can add some safety checks here to be sure the right format
// has been passed
string[] parts = line.Split(',');
this.Text1 = parts[0];
this.Text2 = parts[1];
}
}
Теперь, когда вы импортируете линии CSV вместо добавления линий непосредственно в вашу сетку, создайте List<LineImport>
и добавьте элементы в этот список
List<LineImport> imports = new List<LineImport>();
foreach (string s in File.ReadLines(CSVFile))
{
LineImport line = new LineImport(s);
imports.Add(line);
}
Наконец, используйте источник данных вашей таблицы для привязки списка
BindingSource source = new BindingSource();
source.DataSource = imports;
dtgrdvwUsersList.DataSource = source;
Как видите, я также изменил File.ReadAllLines на File.ReadLines, чтобы разрешить перечисление строк без необходимости загружать все в память