Добавить все элементы массива в строки просмотра данных, кроме одного
Я читаю текстовый файл построчно и вставляю его в массив.
Затем у меня есть этот список custIndex, который содержит определенные индексы, индексы массива элементов, которые я тестирую, чтобы увидеть, являются ли они действительными кодами. (например, custIndex [0] = 7, поэтому я проверяю значение в items [7-1], чтобы убедиться, что оно действительно, в двух словарях, которые у меня есть). Затем, если есть недопустимый код, я добавляю строку (массив элементов) в dataGridView1.
Дело в том, что некоторые столбцы в dataGridView1 являются столбцами поля со списком, поэтому пользователь может выбрать правильное значение. Когда я пытаюсь добавить массив элементов, я получаю исключение: «В DataGridView произошло следующее исключение: System.ArgumentException: значение DataGridViewComboBoxCell недопустимо».
Я знаю, что поле со списком было добавлено правильно с правильным источником данных, так как, если я просто добавлю несколько элементов в массиве элементов в dataGridView1, например просто items [0], поле со списком будет отображаться нормально, и исключений не будет. Я предполагаю, что проблема в том, когда я пытаюсь добавить неправильное значение в массиве элементов в строку dataGridView1.
Я не уверен, как с этим бороться. Есть ли способ добавить все элементы в элементы, кроме этого значения? Или я могу добавить значение из элементов и показать его в ячейке поля со списком вместе с заполненными выпадающими элементами?
if(choosenFile.Contains("Cust"))
{
var lines = File.ReadAllLines(path+"\\"+ choosenFile);
foreach (string line in lines)
{
errorCounter = 0;
string[] items = line.Split('\t').ToArray();
for (int i = 0; i <custIndex.Count; i++)
{
int index = custIndex[i];
/*Get the state and country codes from the files using the correct indices*/
Globals.Code = items[index - 1].ToUpper();
if (!CountryList.ContainsKey(Globals.Code) && !StateList.ContainsKey(Globals.Code))
{
errorCounter++;
dataGridView1.Rows.Add(items);
}
}//inner for
if (errorCounter == 0)
dataGridView2.Rows.Add(items);
}//inner for each
}//if file is a customer file